数据库接近5GB。我有类似的文件:
{
_id: ..
user: "a"
hobbies: [{
_id: ..
name: football
},
{
_id: ..
name: beer
}
...
]
}
我想返回“爱好”多于0的用户
我试过了
db.collection.find({"hobbies" : { > : 0}}).limit(10)
而且它占用了所有RAM,但没有结果。
TIA
P.S.
near我发现:
“添加新字段以分配类别大小。这是mongo世界中的常见做法。”
这是真的?
最佳答案
您是否尝试过使用hobbies.length
。我还没有测试过,但是我相信这是在mongodb中查询数组范围的正确方法
db.collection.find({$where: '(this.hobbies.length > 0)'})
关于mongodb - Mongo DB : how to select items with nested array count > 0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7551645/