MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara menggunakan $lookup sebagai INNER JOIN di Agregasi MongoDB?

Cukup tambahkan $match tahap pipa yang melewatkan dokumen dengan inventory_docs kosong bidang. Tidak ada cara lain untuk mencapainya.

Pertanyaan:

db.getCollection('inventory').aggregate([
    {
        $lookup: {
            from: "orders",
            localField: "sku",
            foreignField: "item",
            as: "inventory_docs"
        }
    },
    {
        $match: {
            "inventory_docs": {$ne: []}
        }
    }
])

Hasil:

{
    "_id" : 1.0,
    "sku" : "abc",
    "description" : "product 1",
    "instock" : 120.0,
    "inventory_docs" : [ 
        {
            "_id" : 1.0,
            "item" : "abc",
            "price" : 12.0,
            "quantity" : 2.0
        }
    ]
}

{
    "_id" : 4.0,
    "sku" : "jkl",
    "description" : "product 4",
    "instock" : 70.0,
    "inventory_docs" : [ 
        {
            "_id" : 2.0,
            "item" : "jkl",
            "price" : 20.0,
            "quantity" : 1.0
        }
    ]
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memulai dengan Python dan MongoDB

  2. membaca data dari node tertentu dalam set replika mongo

  3. Basis Data NoSQL

  4. PyMongo membuat indeks unik dengan 2 bidang atau lebih

  5. Kesalahan batas waktu saat menghubungkan ke CosmosDB dengan MongoDB API