Ich möchte zusätzliche Felder füllen, nachdem ich bereits ein Dokument geladen habe.Kann ich mehr Felder füllen, nachdem ich bereits ein Dokument auf Mungo geladen habe?
Ich lade meine Karre auf einem E-Commerce Ich baue, wie dies auf allen Strecken:
app.use(function(req, res, next) {
Cart.findOne({session: req.cookies['express:sess']})
.populate({ path: "products.product", select: "price name photos slug" })
.exec(function(err, cart){
if(err){
return err; //TODO: PAG 500
}
if(cart){
res.locals.cart = cart;
} else {
res.locals.cart = new Cart({ session: req.cookies['express:sess']});
}
next();
});
});
Aber an einer Seite, ich möchte aus dem Produkt mehr die Felder Beschreibung und Addons haben loaded . Ich habe versucht, nur die Produkte zu laden, aber dann vermisse ich die dazugehörigen Informationen der Menge, die ich auf den Wagen
var CartSchema = new Schema({
products: [{
product: { type: Schema.ObjectId, ref : 'Product' },
quantity: { type: Number, default: 1}
}],
totalItems: { type: Number, default: 0},
message: { type: String },
});
Ich weiß, ich könnte diese brechen in mehr Middle nach meinen Bedürfnissen auf den Feldern auf unterschiedlichen haben Seiten, oder laden Sie den Warenkorb neu, und ich könnte auch einfach beide Arrays durchlaufen, die Produkte, die ich neu lade und die Produkte, die ich auf den Wagen geladen habe, und eine Art Merge machen, aber ich dachte mir, dass Mungo eine Möglichkeit haben könnte.
Möchten Sie das? http://mongoosejs.com/docs/populate.html Oder was meinst du? Wo sind die Felder 'description' und' addons'? – Cristy
Nein, ich verwende bereits populate: ".populate ({path:" products.product ", wählen Sie:" price name photos slug "})" Was ich tun möchte, ist, später mehr Felder zu füllen wenn ich das Dokument bereits geladen habe – iagowp
Warum bevölkern Sie sie nicht von Anfang an? Sie können später anhand der Produkt-ID eine Auswahl treffen, wenn Sie später mehr Daten erhalten möchten. – Cristy