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

मोंगोडब में रेडैक्ट मुझे अस्पष्ट लगता है

$redact चरण मूल दस्तावेज़ और उसके क्षेत्रों से शुरू होता है, और केवल जब वह दस्तावेज़ $$DESCEND की शर्त को पूरा करता है , यह उस दस्तावेज़ में शामिल उप-दस्तावेजों की जांच करता है। इसका मतलब है कि $redact आपके दस्तावेज़ के साथ सबसे पहले इसकी जांच करता है:

{
    "_id" : ObjectId("50b59cd75bed76f46522c34e"),
    "student_id" : 0,
    "class_id" : 2,
    "scores" : [] // Some array. I will look at this later.
}

यह एक type भी नहीं ढूंढता है यहां फ़ील्ड करें, इसलिए $eq: [ "$type" , "exam" ] गलत है। शर्त झूठी होने पर आपने $redact को क्या करने के लिए कहा? else: "$$PRUNE" , इसलिए उप-दस्तावेजों की जांच से पहले पूरे दस्तावेज़ को काट दिया जाता है।

समाधान के रूप में, परीक्षण करें कि क्या $type या तो "exam" है या मौजूद नहीं है। आपने स्पष्ट रूप से कोई कार्य समाधान नहीं मांगा था, इसलिए मैं इसे एक अभ्यास के रूप में आप पर छोड़ दूंगा कि यह कैसे करना है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला में स्कीमा और मॉडल दोनों क्यों होते हैं?

  2. आप नोड के भीतर MongoDB संग्रह में दस्तावेज़ों की मात्रा की गणना कैसे करते हैं?

  3. MongoDB - दशमलव प्रकार के मूल्य के बारे में क्या?

  4. MongoDB के साथ पैसे कैसे स्थानांतरित करें?

  5. Node.js का उपयोग करके Mongodb से NumberLong डेटा कैसे निकालें?