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

MongoDB projicerer dokumenterne med et antal større end 2

Du skal projicere de andre felter og din $match pipeline skal blot lave en forespørgsel på det nyoprettede felt for at filtrere dokumenterne baseret på matrixstørrelsen. Noget i stil med følgende burde virke:

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

Eksempeloutput :

/* 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. Hierarkisk struktur Firestore og undersamlinger

  2. Forsøger at løse afhængigheder:Ændring af .NET Standard Library til NET Core - Microsoft.Extensions.Primitives

  3. MongoDB $allElementsTrue

  4. resque-scheduler mislykkes ved jobfjernelse