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

गोलंग मोंगोडब एकत्रीकरण

आप $lookup लागू नहीं कर सकते सीधे सरणी में, लेकिन आप $unwind कर सकते हैं यह पहले।

उदाहरण दस्तावेजों के बिना, नीचे दिया गया कोड स्निपेट एक सामान्य दृष्टिकोण है:

pipeline := []bson.M{ 
    bson.M{"$match": bson.M{"_id": userId }},
    bson.M{"$unwind": "$otherUsersIdsArrayName"},
    bson.M{
        "$lookup": bson.M{ 
            "from": userCollectionName, 
            "localField": otherUsersIdsArrayName, 
            "foreignField": "id", 
            "as": "friend"
        }
    },
    bson.M{"$unwind": "$friend"},
    bson.M{
        "$group": bson.M{
            "_id": "id",
            "id": bson.M{"$first": "$id"},
            "name": bson.M{"$first": "$name"},
            "avatar": bson.M{"$first": "$avatar"},
            otherUsersIdsArrayName: bson.M{ "$push": "$friend"}
        }
    }
}
pipe := collection.Pipe(pipeline)
resp := []bson.M{}
err = pipe.All(&resp)

मुझे यह उल्लेख करना चाहिए कि एकत्रीकरण/पाइप रिटर्न bson.M , हाइड्रेटेड उपयोगकर्ता ऑब्जेक्ट नहीं। आखिर मोंगो एक रिलेशनल डेटाबेस नहीं है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $gt और $lte दोनों के साथ MongoDB क्वेरी को ऑप्टिमाइज़ कैसे करें?

  2. मोंगोडब एग्रीगेशन प्रोजेक्ट ऑब्जेक्टआईड कॉन्सट के साथ

  3. जावा ड्राइवर के साथ MongoDB एकत्रीकरण

  4. मोंगोडीबी ढूंढें ()

  5. नेवला संस्करण के साथ मोंगो डीबी से जुड़ना (4.11.0)