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

Er det muligt at udjævne MongoDB resultatforespørgsel?

Du kan bruge $project &$unwind &$group af aggregation rammer for at få resultatet tættere på dit krav.

> db.countries.aggregate({$project:{a:'$data.country.neighbor.name'}},
                         {$unwind:'$a'},
                         {$unwind:'$a'},
                         {$group:{_id:'a',res:{$addToSet:'$a'}}})
  {
    "result" : [
        {
            "_id" : "a",
            "res" : [
                "Colombia",
                "Malaysia",
                "Switzerland",
                "Costa Rica",
                "Austria"
            ]
        }
    ],
    "ok" : 1
}

$unwind brugt to gange, da navnearrayet er indlejret dybt. Og det vil kun fungere, hvis neighbor attribut er en matrix. I dit eksempel er et nabofelt (Malaysia) ikke et array



  1. så din HBase er i stykker

  2. MongoDB database kryptering

  3. MongoDB Aggregation:Tilføj felt fra et indlejret dokument via en dynamisk feltsti

  4. Er mongodb-underdokumenter svarende til Firestore-undersamlinger?