按MongoDb中嵌套数组的最后一个元素过滤

jfewjypa  于 2022-12-12  发布在  Go
关注(0)|答案(1)|浏览(142)

假设我在mongo中有一个对象:

{
      "_id": "1",
      "Test" {
        "Array": [ new NumberInt("10") ]
      }
    }

现在我想使用这个过滤器来检查数组中的最后一个元素是否满足我的条件:

{ "Test.Array.-1": { "$gte": new NumberInt("10") } }

但是它并没有像我期望的那样工作。是不可能通过数组中的最后一个元素进行过滤,还是我在这里做错了什么?

j1dl9f46

j1dl9f461#

$gte$arrayElemAt链接在$expr

db.collection.find({
  $expr: {
    $gte: [
      {
        $arrayElemAt: [
          "$Test.Array",
          -1
        ]
      },
      10
    ]
  }
})

Mongo Playground

相关问题