作为 MongoDB 文档的一部分,我存储了一个对象数组。例如,如何仅查询数组的第 4 个元素?所以我不希望得到整个数组,只是第 4 个元素。
最佳答案
使用 $slice
。
db.foo.find({ bar : "xyz" } , { my_array : { $slice : [n , 1] } } )
将检索 foo 集合中 bar = "xyz"中所有文档的数组 "my_array"的第 n 个元素。
MongoDB 文档中的一些其他示例:
db.posts.find({}, {comments:{$slice: 5}}) // first 5 comments
db.posts.find({}, {comments:{$slice: -5}}) // last 5 comments
db.posts.find({}, {comments:{$slice: [20, 10]}}) // skip 20, limit 10
db.posts.find({}, {comments:{$slice: [-20, 10]}}) // 20 from end, limit 10
您可以在此处阅读:http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields
https://stackoverflow.com/questions/7223273/