是否可以通过嵌套数组的大小对 MongoDB 集合进行排序?例如,我们有一个 Question 文档的集合,每个文档都有一个嵌套的答案数组。我希望能够对集合进行排序并提取出回答最多的问题?我一直在环顾四周,我不确定它是否可以直接从 MongoDB 中执行,我认为提取所有问题然后在 Java 中对它们进行排序会非常耗费性能。
您无法按嵌套集合的大小进行查询,您需要为此类需求创建具有集合大小的字段(mongo db 文档):
$size 运算符匹配具有指定元素数量的任何数组。以下示例将匹配对象 {a:["foo"]},因为该数组只有一个元素:
db.things.find( { a : { $size: 1 } } );
您不能使用 $size 来查找大小范围(例如:具有超过 1 个元素的数组)。如果您需要查询范围,请创建一个额外的大小字段,在添加元素时增加该字段。
归档时间: |
|
查看次数: |
1261 次 |
最近记录: |