sql >> Database >  >> NoSQL >> MongoDB

MongoDB projecteert de documenten met een telling groter dan 2

U moet de andere velden en uw $match pijplijn hoeft alleen een query uit te voeren op het nieuw gemaakte veld om de documenten te filteren op basis van de arraygrootte. Iets als het volgende zou moeten werken:

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

Voorbeelduitvoer :

/* 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. yii2 met mongodb werkt niet voor inloggen of aanmelden

  2. Is er een manier om de gewijzigde IDS uit de bulkoperaties van mongodb te halen met behulp van mangoest?

  3. Hoe een reeks objecten in Redis op te slaan?

  4. Mongoose - veroorzaakt door ::11000 E11000 dubbele sleutelfoutindex?