Mongo 开发笔记
时间
程序的时间是本地时间 ,数据库中的时间是 ISO 标准时间 。 ISO时间 + 8 小时 = 本地时间(北京时间 )
Java驱动会自动做转化。
语法
数组查询
- 数据查询使用 elemMatch
删除指定位置的数组值.
目前还没找到方法 . 类似的 js: splice (1 , 1)
分组
qrCode有details集合。 按details 第一条的 tag 分组计数。
db.qRCodeInfo.aggregate(
[
{ $project: { "_id":0, "de" : { "$slice":[ "$details.tag", 0,1 ] } } }
,{ $unwind : "$de"}
,{ $group : { "_id": "$de" , count: { $sum: 1 } } }
]
)
firstElementAt
如果表达式里有数组,那么会返回完整的数组。
如果表达式中有数组,再取数组下面的属性,则会返回下面属性的数组。
如果表达式里没有数组,则会返回属性值。
db.qRCodeInfo.aggregate(
[
{ $match: { "productId": "58ff0f5b2b3fe455a3e2944d" , } }
, {
$project : {
abc: { $slice: [ "$corpRecords.corp", 2 ] } ,
createAt: { $arrayElemAt: [ "$corpRecords.userRecords.createAt" , 1] }
}}
]
)
aggregate 中使用 addFields
解决 project 不足, 可以方便地添加字段. 减少字段 设置 filed: -1 即可.
问题
如何 aggregate 查询团长订单的子订单数
![]() |
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2015-08-09 MySql执行多条语句