sql >> Databáze >  >> NoSQL >> MongoDB

Jak třídit pole uvnitř záznamu kolekce v MongoDB?

Budete muset manipulovat s vloženým polem v kódu vaší aplikace nebo pomocí nového agregačního rámce v MongoDB 2.2.

Příklad agregace v mongo shell:

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
    }}
)

Ukázkový výstup:

{
    "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. Jak vyloučit jedno konkrétní pole z kolekce v Mongoose?

  2. Jak přijímat události vypršení platnosti Redis pomocí uzlu?

  3. Automatické doplňování Redis

  4. Výčty v MongoDB