mongodb - 在MongoDB中获取数组的第n个元素

作为 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/

相关文章:

mongodb - 在 Mongo Compass 上按 ObjectId 搜索

node.js - 如何在 Mongoose 中执行 id 数组查询?

mongodb - 在 MongoDB 中存储日期的最佳方式是什么?

mongodb - 在键值数据存储中存储目录层次结构

ubuntu - MongoDB 仅在 Ubuntu 上以 root 身份运行时才有效 - 数据目录

java - 如何使用 Java 驱动程序为 MongoDB 构建 $or 查询?

mongodb - mongoexport 聚合导出到 csv 文件

mongodb - 在单个查询中从 mongo 中删除多个文档

php - Mongodb php获取新文档的ID?

ruby-on-rails - Mongoid 3 + Heroku (MongoHQ) 导致 Mo