Suche…


Syntax

  • Query.populate (Pfad, [Auswahl], [Modell], [Übereinstimmung], [Optionen])

Parameter

Parameter Erläuterung
Pfad < Object, String > Entweder der zu befüllende Pfad oder ein Objekt, das alle Parameter angibt
[wählen] < Object, String > Feldauswahl für die Populationsabfrage (kann '-id' , um alles außer dem id Feld aufzunehmen)
[Modell] < Modell > Das Modell, das Sie für die Auffüllung verwenden möchten. Wenn es nicht angegeben wird, sucht populate das Modell anhand des Namens im Feld ref des Schemas.
[Spiel] < Objekt > Bedingungen für die Bevölkerung
[Optionen] < Object > Optionen für die Populationsabfrage (Sortieren usw.)

Ein einfaches Mungo-Beispiel

.populate() in Mongoose können Sie eine Referenz Ihrer aktuellen Sammlung oder eines Dokuments mit den Informationen aus dieser Sammlung .populate() . Das Vorherige mag verwirrend klingen, aber ich denke, ein Beispiel wird helfen, Verwirrung zu beseitigen.

Der folgende Code erstellt zwei Sammlungen, User und Post:

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

var userSchema = Schema({
  name: String,
  age: Number,
  posts: [{ type: Schema.Types.ObjectId, ref: 'Post' }]
});

var PostSchema = Schema({
  user: { type: Schema.Types.ObjectId, ref: 'User' },
  title: String,
  content: String
});

var User = mongoose.model('User', userSchema);
var Post = mongoose.model('Post', postSchema);

Wenn wir alle Beiträge für jeden Benutzer .find({}) wenn wir .find({}) Benutzer .find({}) , können wir Folgendes tun:

User
  .find({})
  .populate('posts')
  .exec(function(err, users) {
    if(err) console.log(err);
    //this will log all of the users with each of their posts 
    else console.log(users);
  }) 


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow