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

मोंगोडब कुल में शून्य मानों से बचकर $ लुकअप कैसे करें

$in . का उपयोग न करके आप इससे निजात पा सकते हैं .

यह इस तरह दिखता है $map items . में प्रत्येक दस्तावेज़ के लिए अलग से निष्पादित किया जाता है संग्रह। यदि आप मानचित्र को $addFields . में चलाना चाहते हैं चरण, आप जोड़े गए फ़ील्ड को _id . से मिलान करने के लिए लुकअप के सरल रूप का उपयोग कर सकते हैं , जो स्वचालित रूप से लापता को संभाल लेगा, null , और सरणी।

जोड़े गए फ़ील्ड को $project . के साथ निकालें यदि आवश्यक हो तो मंच।

db.case.aggregate([
    {$lookup: {
        from: "insurance",
        let: { ipids: "$sale.bill.insurancePlanId" },
        pipeline: [
            {$unwind: "$coveragePlans"},
            {$match: { $expr: { $in: ["$coveragePlans._id", "$$ipids"] } }},
            {$project: { _id: 0, name: 1 }}
        ],
        as: "insurances"
    }}
    {$addFields:{
        matchArray:{$map: {
                       input: "$$iid",
                       in: { $toObjectId: "$$this" }
        }}
    }},
    {$lookup: {
        from: "item",
        localField: "matchArray",
        foreignField:"_id",
        as: "items"
    }},
    {$project:{
        arrayField: 0 
    }}
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में एक अद्वितीय अनुक्रमणिका का लाभ

  2. MongoDB में उच्च परिशुद्धता दशमलव मानों को संग्रहीत करने की आवश्यकता है

  3. $near और 2d अनुक्रमणिका का उपयोग करके मोंगो भौगोलिक स्थान सटीक नहीं है

  4. कुल चरण में पाए गए अधिकतम (मान) साझा करने वाले सभी दस्तावेज़ खोजें

  5. MongoDB सभी फ़ील्ड प्राप्त करें + कई फ़ील्ड से गणना किए गए मान के आधार पर छाँटें