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

MongoDB में नेस्टेड दस्तावेज़ को पुनरावर्ती रूप से कैसे पार करें

ऐसा करने का सबसे आसान तरीका ब्लूबर्ड वादों का उपयोग करना है, विशेष रूप से each , props , reduce और map आपके उपयोग के मामले के आधार पर तरीके।

आपके मामले में, मैं

. की तर्ज पर कुछ सुझाव दूंगा
var bluebird = require('bluebird');
var mongoose = require('mongoose');
var UserModel = mongoose.model('User');

function getUser(userId) {
  return UserModel.findOne({_id: userId}).lean().exec()
    .then(function(user){
      return bluebird.props({
        firstName: user.firstName,
        parents: bluebird.map(user.parents, getUser),
        children: bluebird.map(user.children, getUser),
        partner: bluebird.map(user.partner, getUser),
        sibling: bluebird.map(user.sibling, getUser)
      })
    });
}

// Then call getUser once on the root node, e.g.
getUser(rootUserObjectId)
  .then(function(userTree){
    console.log(userTree)
  })

मुझे बताएं कि यह कैसे जाता है!




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hadoop HDFS MapReduce आउटपुट MongoDb

  2. मोंगो बल्क एकल क्वेरी में मिलान किए गए दस्तावेज़ फ़ील्ड को ढूंढें और अपडेट करें?

  3. मोंगोइड 3 - मानचित्र तक पहुंचें_परिणाम कम करें

  4. कुल मिलाकर समूह कैसे करें लेकिन मोंगो का उपयोग करके अन्य फ़ील्ड भी दिखाएं?

  5. पिछले अनुक्रम संख्या या टाइमस्टैम्प का उपयोग करके चलाते समय किनेसिस से पढ़ें खाली रिकॉर्ड दे रहा है