sql >> Database teknologi >  >> NoSQL >> MongoDB

Få n-te element i en matrix i MongoDB

Brug $slice .

db.foo.find({ bar : "xyz" } , { my_array : { $slice : [n , 1] } } )

vil hente det n'te element i arrayet "my_array" af alle dokumenter i foo-samlingen, hvor bar ="xyz".

Nogle andre eksempler fra MongoDB-dokumentationen:

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

Som du kan læse her:http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields



  1. Stream fra en mongodb-markør til Express-svar i node.js

  2. Hvordan implementerer man en node.js med redis på kubernetes?

  3. MongoDB $loft

  4. Find MongoDB-poster, hvor arrayfeltet ikke er tomt