MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

comment puis-je réécrire ma requête mangouste après avoir divisé les données d'un modèle en deux ?

Tout d'abord, je vous suggère d'utiliser une requête de remplissage, si vous pensez que ce remplissage ne vous donnera pas les données dont vous avez besoin, vous pouvez exécuter deux requêtes et fusionner ces résultats.

pour peupler, j'ai trouvé la solution dans la doc officielle de mangouste. tu peux faire comme ça.

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

voici le lien doc :http://mongoosejs.com/docs/populate.html