我知道 MongoDB 支持以下语法find{array.0.field:"value"}
,但我特别想对数组中的最后一个元素执行此操作,这意味着我不知道索引。有某种操作员可以做到这一点,还是我运气不好?
编辑:为了澄清,我希望 find() 仅返回数组最后一个元素中的字段与特定值匹配的文档。
在 3.2 中这是可能的。第一个项目让 myField 只包含最后一个元素,然后在 myField 上进行匹配。
db.collection.aggregate([
{ $project: { id: 1, myField: { $slice: [ "$myField", -1 ] } } },
{ $match: { myField: "myValue" } }
]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)