让我们假设这个对象是mongo:
{
"_id": "1",
"Test" {
"Array": [ new NumberInt("10") ]
}
}
现在我想使用这个过滤器来检查数组中的最后一个元素是否满足我的条件:
{ "Test.Array.-1": { "$gte": new NumberInt("10") } }
但是它没有像我期望的那样工作。是否不可能按数组中的最后一个元素进行过滤,或者我在这里做错了什么?
将$gte
与$arrayElemAt
链成$expr
db.collection.find({
$expr: {
$gte: [
{
$arrayElemAt: [
"$Test.Array",
-1
]
},
10
]
}
})
Mongo操场