查询数组中字段大于x的文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询数组中字段大于x的文档相关的知识,希望对你有一定的参考价值。

我很难理解如何对数组进行查询。一个基本的例子,如果我拿这个文件:

Man
 children
  Frank
   age: 33
  Anna
   age: 28

我怎样才能找到所有年龄大于30岁的孩子?

谢谢!

答案

@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帮助我理解。

以上是关于查询数组中字段大于x的文档的主要内容,如果未能解决你的问题,请参考以下文章

mongodb关联查询

如何使用 Mongoose 查询过滤到数组类型字段中具有指定值的文档?

sql查询大于字段的所有数据,或小于字段的所有数据

如何根据查询从子文档数组中更新子文档字段?

Elasticsearch 7.x Nested 嵌套类型查询 ES 干货

如何在MongoDB中查询数组中的字段超过n次的文档