我很难理解如何对数组进行查询。一个基本的例子,如果我拿这个文件:
Man
children
Frank
age: 33
Anna
age: 28
如何找到所有年龄超过30岁的孩子?
谢谢!
答案 0 :(得分:0)
@Veeram的查询效果非常好:
db.getCollection('men').aggregate([
{ $match: {'children.age': {$gt:30}} },
{ $project: { children: {$filter: { input: '$children', as: 'child', cond: {$gt: ['$$child.age', 30]} }}, _id: 0 }}
])
这link让我明白了。