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

MongoDB दो अलग-अलग कुंजियों के साथ कुल परिणाम

ObjectIds की वांछित सूची प्राप्त करने के लिए निम्नलिखित एकत्रीकरण पाइपलाइन का उपयोग करें। यह $ifNull का उपयोग करता है एग्रीगेशन ऑपरेटर _id जोड़ने के लिए फ़ील्ड अगर सरणी general_products फ़ील्ड मौजूद नहीं है:

db.products.aggregate([
    {
        "$match": {"warehouse_sku": /^1/ }
    },
    {
        "$group": {
            "_id": {
                "_id": "$_id",
                "general_products": "$general_products"
            },
            "data": {
                "$addToSet": "$_id"
            }
        }
    },
    {
        "$project": {
            "_id": 0,
            "general_products": {
                "$ifNull": ["$_id.general_products", "$data"]
            }
        }
    },
    {
        "$unwind": "$general_products"
    },
    {
        "$group": {
            "_id": null,
            "list_products": {
                "$addToSet": "$general_products"
            }
        }
    }
]);

यह आपको एक सरणी के साथ एक दस्तावेज़ देगा list_products ऑब्जेक्ट आईडी के साथ:

/* 1 */
{
    "result" : [ 
        {
            "_id" : null,
            "list_products" : [ 
                ObjectId("554b9f223d77c810e8915539"), 
                ObjectId("554b9f2e3d77c810e8915549"), 
                ObjectId("554b99b83d77c810e8915436"), 
                ObjectId("554b9f173d77c810e8915533"), 
                ObjectId("554b9f143d77c810e8915530"), 
                ObjectId("554b9f123d77c810e891552f")
            ]
        }
    ],
    "ok" : 1
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB साझा क्लस्टर बनाने के लिए 3 सरल चरण

  2. स्प्रिंग बूट का उपयोग करके MongoDB के लिए ऑटो-जेनरेट किया गया फ़ील्ड

  3. फेसबुक user_id MongoDB BSON ObjectId के रूप में?

  4. मोंगोडीबी $log10

  5. MongoError:UNKNOWN कनेक्ट करें