我知道 MongoDB 支持语法 find{array.0.field:"value"}
,但我特别想对数组中的最后一个元素执行此操作,这意味着我不知道索引。有某种运算符(operator)可以做到这一点,还是我运气不好?
编辑:为了澄清,我希望 find() 仅返回数组最后一个元素中的字段与特定值匹配的文档。
最佳答案
在 3.2 中这是可能的。第一个项目使 myField 只包含最后一个元素,然后在 myField 上进行匹配。
db.collection.aggregate([
{ $project: { id: 1, myField: { $slice: [ "$myField", -1 ] } } },
{ $match: { myField: "myValue" } }
]);
关于arrays - MongoDB - 查询数组的最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43205546/