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

Operatør $arrayElemAt i aggregering med Mongo <3.2

Du skal $unwind , $group og brug $first og $last operatører som denne:

db.collection.aggregate([
    { "$unwind": "$favorites" },
    { "$group": { 
        "_id": "$_id",
        "first": { "$first": "$favorites" },
        "last": { "$last": "$favorites" }
    }}
])

Eller to forskellige forespørgsler, hvis $unwind er dyrt

var first = db.collection.find({}, {"favorites": { $slice: 1}})
var last = db.collection.find({}, {"favorites": { $slice: -1}})



  1. Sådan opdateres indlejret array

  2. mongoDB-opdateringMange med upsert true og $in i where-tilstand

  3. gruppeindsamlingsdata efter flere felter mongodb

  4. Tjek for at se, om en MongoDB-samling er begrænset med .NET 2.0-driveren