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

एक नेवला मॉडल को उस फ़ील्ड के साथ पॉप्युलेट करें जो एक आईडी नहीं है

यह नेवला 4.5 . से समर्थित है , और इसे आभासी जनसंख्या . कहा जाता है ।

आपको अपने विदेशी कुंजी संबंध define को परिभाषित करना होगा आपकी स्कीमा परिभाषाओं . के बाद और मॉडल बनाने . से पहले , इस तरह:

// Schema definitions

BookSchema = new mongoose.Schema({
        ...,
        title: String,
        authorId: Number,
        ...
    },
    // schema options: Don't forget this option
    // if you declare foreign keys for this schema afterwards.
    {
        toObject: {virtuals:true},
        // use if your results might be retrieved as JSON
        // see http://stackoverflow.com/q/13133911/488666
        //toJSON: {virtuals:true} 
    });

PersonSchema = new mongoose.Schema({id: Number, ...});


// Foreign keys definitions

BookSchema.virtual('author', {
  ref: 'Person',
  localField: 'authorId',
  foreignField: 'id',
  justOne: true // for many-to-1 relationships
});


// Models creation

var Book = mongoose.model('Book', BookSchema);
var Person = mongoose.model('Person', PersonSchema);


// Querying

Book.find({...})
    // if you use select() be sure to include the foreign key field !
    .select({.... authorId ....}) 
    // use the 'virtual population' name
    .populate('author')
    .exec(function(err, books) {...})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. क्या मोंगोडीबी में सूचकांक आकार का अनुमान लगाने के लिए कोई उपकरण हैं?

  2. मोंगोडब कनेक्शन स्ट्रिंग में @ संभाल लें

  3. MongoDB में हटाने पर संदर्भित वस्तुओं को स्वचालित रूप से हटा दें

  4. MongoDB क्या है और यह कैसे काम करता है?

  5. नेवला में एक सरणी मान को कैसे अपडेट करें