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

क्या होगा यदि नेवले में एकत्रीकरण का उपयोग करते समय मौजूद नहीं होने वाले क्षेत्र में खोलना लागू किया जाता है

नहीं, ऐसा नहीं है:

यहाँ एक सरल उदाहरण है:

> db.test.insert({a:[1]})
> db.test.insert({})

> db.test.aggregate({$unwind:'$a'})
{ "_id" : ObjectId("557362a17b97d77c38793c21"), "a" : 1 }
// no error -- but unwind only the document having the `a` field.

लेकिन:

> db.test.insert({a:2})
> db.test.aggregate({$unwind:'$a'})
// will result in error 15978:
// """Value at end of $unwind field path '$a' must be an Array,
//    but is a NumberDouble"""

आपके संपादन के अनुसार, यदि आपको दस्तावेज़ों को गायब . के साथ रखने की आवश्यकता है आराम करने के लिए, आप $project कर सकते हैं $ifNull का उपयोग करके एक डिफ़ॉल्ट मान :

> db.test.find()
{ "_id" : ObjectId("557362a17b97d77c38793c21"), "a" : [ 1 ] }
{ "_id" : ObjectId("557362a57b97d77c38793c22") }

> db.test.aggregate([
    {$project: { a: { $ifNull: ['$a', [ null ]]}}},
    {$unwind: "$a"}
])
{ "_id" : ObjectId("557362a17b97d77c38793c21"), "a" : 1 }
{ "_id" : ObjectId("557362a57b97d77c38793c22"), "a" : null }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. पाइमोंगो - ValueError:NaTType insert_many का उपयोग करते समय utcoffset का समर्थन नहीं करता है

  2. MongoDB मानचित्र में क्वेरी फ़ंक्शन कम करें

  3. मैं मोंगोडीबी संग्रह में सबसे कम मूल्य कैसे प्राप्त कर सकता हूं?

  4. MongoDB:एम्बेडेड दस्तावेज़ों के साथ कुशल स्कीमा डिज़ाइन

  5. मोंगोडब जावा ड्राइवर में आईडी फ़ील्ड द्वारा एकाधिक समूह कैसे लिखें?