sql >> Database >  >> NoSQL >> MongoDB

Hoe de array in het verzamelingsrecord in MongoDB te sorteren?

U moet de ingesloten array in uw applicatiecode manipuleren of het nieuwe Aggregation Framework in MongoDB 2.2 gebruiken.

Voorbeeldaggregatie in de mongo schaal:

db.students.aggregate(
    // Initial document match (uses index, if a suitable one is available)
    { $match: {
        _id : 1
    }},

    // Expand the scores array into a stream of documents
    { $unwind: '$scores' },

    // Filter to 'homework' scores 
    { $match: {
        'scores.type': 'homework'
    }},

    // Sort in descending order
    { $sort: {
        'scores.score': -1
    }}
)

Voorbeelduitvoer:

{
    "result" : [
        {
            "_id" : 1,
            "name" : "Aurelia Menendez",
            "scores" : {
                "type" : "homework",
                "score" : 71.76133439165544
            }
        },
        {
            "_id" : 1,
            "name" : "Aurelia Menendez",
            "scores" : {
                "type" : "homework",
                "score" : 34.85718117893772
            }
        }
    ],
    "ok" : 1
}


  1. Een weergavefunctie maken zonder een antwoord terug te sturen in Flask

  2. Wat zijn naamgevingsconventies voor MongoDB?

  3. Verwijderen door _id in MongoDB-console

  4. MongoDB krijgt SubDocument