mongoose
Popolazione di Mongoose
Ricerca…
Sintassi
- Query.populate (percorso, [seleziona], [modello], [corrispondenza], [opzioni])
Parametri
| Parametro | Spiegazione |
|---|---|
| sentiero | < Object, String > o il percorso da popolare o un oggetto che specifica tutti i parametri |
| [selezionare] | < Object, String > Selezione del campo per la query della popolazione (possibile utilizzare '-id' per includere tutto tranne il campo id ) |
| [modello] | < Modello > Il modello che si desidera utilizzare per la popolazione. Se non specificato, popola cercherà il modello con il nome nel campo di riferimento dello Schema. |
| [incontro] | < Oggetto > Condizioni per la popolazione |
| [opzioni] | < Oggetto > Opzioni per la query della popolazione (ordinamento, ecc.) |
Un semplice esempio di mangusta
.populate() in Mongoose ti permette di popolare un riferimento che hai nella tua raccolta o documento corrente con le informazioni di quella raccolta. Il precedente potrebbe sembrare confuso ma penso che un esempio aiuterà a chiarire ogni confusione.
Il codice seguente crea due raccolte, Utente e Posta:
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);
Se volessimo popolare tutti i post per ciascun utente quando noi .find({}) tutti gli utenti, potremmo fare quanto segue:
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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow