在Mongodb聚合中,如何返回所有包含第二个元素存在的数组值的文档?

ldxq2e6h  于 2023-05-06  发布在  Go
关注(0)|答案(1)|浏览(122)

我有一个Mongodb文档,它有一个数组值。我想返回数组值中有第二个元素的所有文档。我该怎么做?

example document :

{
 _id : "672d75267",
 name : "somename",
 arr : [1,2,3]
}

db.collection.aggregate([
 {
   $match : {
      $expr : {
        $arrayElemAt : ["$arr",2]
     }
   }
 }
])
nkoocmlb

nkoocmlb1#

数组索引从0开始,这就是为什么我们采用“arr.1”

db.collection.aggregate([
  {
    $match: {
      "arr.1": {
        "$exists": true
      }
    }
  },
])

相关问题