MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB एकत्रीकरण में INNER JOIN के रूप में $ लुकअप का उपयोग कैसे करें?

बस $match जोड़ें पाइपलाइन चरण जो खाली inventory_docs . के साथ दस्तावेज़ों को छोड़ देता है खेत। इसे हासिल करने का और कोई तरीका नहीं है।

प्रश्न:

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

परिणाम:

{
    "_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. $लुकअप जब विदेशी फ़ील्ड नेस्टेड सरणी में है

  2. नेवला/मोंगोडब कुल - समूह और औसत एकाधिक फ़ील्ड

  3. नेवला -- बल संग्रह का नाम

  4. स्प्रिंग डेटा MongoDB मानदंड के साथ गतिशील क्वेरी बनाएँ

  5. मैं Casbah / Java MongoDB ड्राइवर के लिए java.lang.IllegalArgumentException के साथ क्यों समाप्त करूं?