MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

как мога да пренапиша заявката си за mongoose, след като разделя данните от един модел на два?

Първо, предлагам ви да използвате заявка за попълване, ако смятате, че попълването няма да ви даде необходимите данни, можете да изпълните две заявки и да обедините тези резултати.

за попълване, намерих решението от официалния документ на mongoose. можете да направите така.

var mongoose = require('mongoose')
  , Schema = mongoose.Schema

var personSchema = Schema({
  _id     : Number,
  name    : String,
  age     : Number,
  stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});

var storySchema = Schema({
  _creator : { type: Number, ref: 'Person' },
  title    : String,
  fans     : [{ type: Number, ref: 'Person' }]
});

var Story  = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);

Story
.findOne({ title: 'Once upon a timex.' })
.populate('_creator')
.exec(function (err, story) {
  if (err) return handleError(err);
  console.log('The creator is %s', story._creator.name);
  // prints "The creator is Aaron"
});

ето връзката към документа:http://mongoosejs.com/docs/populate.html




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Търсите референтно приложение nodejs, expressjs &mongodb, което да използвате като шаблон

  2. mongorestore се проваля поради невалиден BSONSize

  3. Може ли MongoDB да съхранява и манипулира низове от UTF-8 с кодови точки извън основната многоезична равнина?

  4. Защо PyGame замръзва, когато се използва в комбинация с PyMongo?

  5. Mongodb findOne () не връща стойност nodejs