sql >> Database teknologi >  >> NoSQL >> MongoDB

hvordan kan jeg omskrive min mongoose-forespørgsel efter at have delt data fra en model i to?

Først foreslår jeg, at du går med en udfyldningsforespørgsel, hvis du føler, at udfyldning ikke vil give dig de data, du har brug for, kan du køre to forespørgsler og flette disse resultater.

for populate, jeg fandt løsningen fra den officielle doc of mongoose. du kan gøre sådan her.

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"
});

her er et dokumentlink:http://mongoosejs.com/docs/populate.html




  1. MongoDB - Slet et dokument

  2. MongoDB opdaterer flere underdokumenter med eller forespørg

  3. Brug variabel med regex til at finde data i mongodb (Meteor app)

  4. MongoDB:Unik nøgle i indlejret dokument