sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB $lookup Value Zpět do pole

Po trochu větším tápání v různých fázích se mi to podařilo vyřešit:

aggregate([
{
  $unwind: "$SalesItems"  
},
{
    $lookup: {
        from: "SalesItem",
        localField: "SalesItems.SalesItemID",
        foreignField: "ID",
        as: "SalesItemDetails"
    }
},
{
    $group: {
        _id: "$_id",
        SalesItems: {
            $push: {
                SalesItemID: "$SalesItems.SalesItemID",
                SalesItemDetails: "$SalesItemDetails"
            }
        }
    }
}
])

Výsledkem je přesně to, co jsem hledal.




  1. Pokud použijeme MongoDB jako naši hlavní databázi, mám k implementaci vztahů mezi entitami použít samostatnou grafovou databázi?

  2. Načtěte více dotazovaných prvků v poli objektů v kolekci MongoDB

  3. Jak třídit a omezovat výsledky v mongodb?

  4. Konektor Spark Mongo, MongoShardedPartitioner nefunguje