MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Konwertowanie tablicy mongo na obiekt z parą klucz-wartość

Nie jestem pewien, co chcesz zrobić z wynikiem końcowym, ponieważ klucze i wartości są takie same. Niemniej jednak można użyć struktury agregacji, w której można zdenormalizować tablicę wartości osadzonych za pomocą $unwind operator, który spłaszcza go, tj. tworzy kopię każdego dokumentu na wpis w tablicy.

Po spłaszczeniu tablicy wartości możesz zastosować $group operatorów akumulacji na wartościach, aby je zagregować. Ostatni potok $project operator ukształtuje pola z poprzedniego grupowania w żądany format.

Postępuj zgodnie z tym przykładem, aby uzyskać koncepcję:

templateAttributes.aggregate([
    { "$match": { "platform": "V1" } },
    { "$unwind": "$available.Community.attributes.type.values" },
    {
        "$group": {
            "_id": "$available.Community.attributes.type.values",
            "value": { "$first": "$available.Community.attributes.type.values" }
        }
    },
    {
        "$project": {
            "_id": 0,
            "label": "$_id",
            "value": 1
        }
    }
])

Ponieważ używasz Meteora, meteor dodaje meteorhacks:aggregate doda odpowiednią obsługę agregacji dla Meteora, dzięki czemu możesz uruchomić powyższy potok agregacji w swojej kolekcji.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Procent warunków OR dopasowanych w mongodb

  2. Wywołanie funkcji składowej all() na tablicy w laravel

  3. Jak mogę dodać obrazy w mongoDB?

  4. PHP MongoDB - Użycie polecenia agregacji bez opcji kursora jest przestarzałe. Co?

  5. Mongoose Saved _id's jako ciąg zamiast ObjectId