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

Jak wypełnić głęboko zagnieżdżoną tablicę identyfikatorów po zagregowanym wyszukiwaniu w mongodb?

Spróbuj tego:

db.A.aggregate([
    {
        $lookup: {
            from: "B",
            let: { refToA: "$_id" },
            pipeline: [
                {
                    $match: {
                        $expr: { $eq: ["$refToA", "$$refToA"] }
                    }
                },
                { $unwind: "$items" },
                { $unwind: "$items.options" },
                {
                    $lookup: {
                        from: "C",
                        localField: "items.options.codes",
                        foreignField: "_id",
                        as: "items.options.codes"
                    }
                },
                {
                    $group: {
                        _id: {
                            id: "$_id",
                            itemLabel: "$items.itemLabel"
                        },
                        labelB: { $first: "$labelB" },
                        refToA: { $first: "$refToA" },
                        items: {
                            $push: {
                                "itemLabel": "$items.itemLabel",
                                "options": "$items.options"
                            }
                        }
                    }
                },
                {
                    $group: {
                        _id: "$_id.id",
                        labelB: { $first: "$labelB" },
                        refToA: { $first: "$refToA" },
                        items: {
                            $push: {
                                itemLabel: "$_id.itemLabel",
                                "options": "$items.options"
                            }
                        }
                    }
                }
            ],
            as: "BCollection"
        }
    }
]);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wstaw plik json do mongodb

  2. Spring MongoTemplate - znajdź według regex w kolekcji

  3. Rozwiązywanie problemów z mongo nie znaleziono, a php_mongo.dll nie jest błędami aplikacji win32

  4. Jak wstawić nowy obiekt bez usuwania poprzedniego

  5. MongoDB asymetryczny zwrot danych, pierwsza pozycja w tablicy zwrócona w całości, reszta z pominięciem pewnych właściwości?