gcw*_*gcw 2 mongodb mongodb-query
是否可以为具有奇数大小的数组的文档构建查询过滤器而不是这个?
db.records.find({'$or': [{'my_array': {'$size': 1}},
{'my_array': {'$size': 3}},
{'my_array': {'$size': 5}},
...
{'my_array': {'$size': 15}}]}))
Run Code Online (Sandbox Code Playgroud)
如果您停在某个数量上,过滤器可能无法捕获所有项目。
您可以对and$project字段使用下面的聚合查询,并使用函数来保留具有奇数大小的数组的文档。sizedata$mod
db.records.aggregate(
{ $project: { size:{ $size: "$my_array" }, data:"$$ROOT"} },
{ $match: { size: { $mod: [ 2, 1 ] } } }
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1364 次 |
| 最近记录: |