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

गोलंग का उपयोग करके मोंगोडब में $ लुकअप का उपयोग करके गिनती मूल्य कैसे प्राप्त करें?

तो आपका एकत्रीकरण वास्तव में सभी comment returns लौटाता है resultField में दस्तावेज़ फ़ील्ड, जिसमें परोक्ष रूप से परिणामों की संख्या शामिल है, यह एक टुकड़ा है जिसमें आप बिल्टिन len() का उपयोग करके गो में लंबाई की जांच कर सकते हैं समारोह।

चूंकि आपको केवल लंबाई की आवश्यकता है (comment . की संख्या दस्तावेज़), इसलिए आप केवल इस सरणी के आकार को पुनः प्राप्त करना चाहते हैं। उस उद्देश्य के लिए आप $addFields का इस्तेमाल कर सकते हैं resultField . को बदलने के लिए चरण इस सरणी की लंबाई वाली संख्या के साथ सरणी।

pipe := c.Pipe([]bson.M{
    {
        "$lookup": bson.M{
            "from":         "comment",
            "localField":   "_id",
            "foreignField": "post_id",
            "as":           "resultField",
        },
    },
    {
        "$addFields": bson.M{
            "resultField": bson.M{"$size": "$resultField"},
        },
    },
})

ध्यान दें कि $addFields स्टेज एक $project . के बराबर है चरण जो इनपुट दस्तावेज़ों में सभी मौजूदा फ़ील्ड को स्पष्ट रूप से निर्दिष्ट करता है और नए फ़ील्ड जोड़ता है। केवल MongoDB संस्करण 3.4 के बाद से उपलब्ध है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेस्टेड उप-दस्तावेज़ मोंगोडब में किसी सरणी के साथ फ़ील्ड को कैसे देखें?

  2. जावा ड्राइवर के माध्यम से एटलस एम0 (फ्री टियर) क्लस्टर से सही तरीके से कैसे कनेक्ट करें?

  3. मोंगोडब सी # ड्राइवर अपडेट सभी सबअरे तत्व विफल हो जाते हैं जब सरणी खाली होती है

  4. संख्या के साथ $multiply का उपयोग नहीं कर सकते

  5. Object.keys, mongodb में चाबियों की सूची कैसे प्राप्त करें