sql >> Databasteknik >  >> NoSQL >> MongoDB

Hämta n:te elementet i en array i MongoDB

Använd $slice .

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

kommer att hämta det n:te elementet i arrayen "my_array" av alla dokument i foo-samlingen där bar ="xyz".

Några andra exempel från 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äsa här:http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields



  1. Skapa ett flerspråkigt textindex i MongoDB

  2. Hitta och räkna delar av samlingen med Mongoose

  3. Vad är det korrekta sättet att göra en HAVING i en MongoDB GROUP BY?

  4. Publicera prenumerera med nodejs och redis(node_redis)