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

MongoDB projektuje dokumenty s počtem větším než 2

Musíte promítnout ostatní pole a svůj $match pipeline bude muset provést dotaz na nově vytvořené pole, aby filtroval dokumenty na základě velikosti pole. Něco jako následující by mělo fungovat:

db.entity.aggregate([
    {
        "$project": {
            "Line": 1,
            "LineStart": 1, "SSCEXPEND": 1,
            "SSCEXPEND_count": { "$size": "$SSCEXPEND" }
         }
    },
    {
        "$match": {
            "SSCEXPEND_count": { "$gte": 2 }
         }
    }
])

Ukázkový výstup :

/* 0 */
{
    "result" : [ 
        {
            "_id" : "201503110040020021",
            "Line" : "1",
            "LineStart" : ISODate("2015-03-11T06:49:35.000Z"),
            "SSCEXPEND" : [ 
                {
                    "Secuence" : 10,
                    "Title" : 1
                }, 
                {
                    "Secuence" : 183,
                    "Title" : 613
                }
            ],
            "SSCEXPEND_count" : 2
        }
    ],
    "ok" : 1
}


  1. Jak najít položky pomocí regulárního výrazu v Mongoose

  2. Je možné vrátit vypočítané pole z dotazu MongoDB?

  3. Baňka nenačte konfiguraci

  4. Jaký je nejlepší postup pro připojení MongoDB na Node.js?