Gegeben:node.js - bevölkern eingebettetes Dokument in Mongoose
var productSchema = new Schema({
name: String,
details : [{ name: String, description: String }]
})
var listSchema = new Schema({
name: String,
products: [{
product_id: { type: Schema.Types.ObjectId, ref: 'Product' },
product_vid: { type: Schema.Types.ObjectId, ref: 'Product.details' }
}]
})
Wie kann ich die Abfrage für die Liste zu tun mit nur product_id mit einer Detail passenden product_vid darin entsprechenden?
List.findById(list_id)
.populate({
path: 'products.product_id',
populate: {
path: 'products.product_vid'
}
})
.exec(function(err, doc){
......
}
es funktioniert nicht ... ich habe es schon einmal versucht. Es zeigt einen Fehler an, der besagt: "Schema wurde nicht für Modellprodukt registriert." – tellingeric
Meinten Sie product.detail oder products.product_id? ah ok .. ich schätze das ist falsch. product_vid: {type: Schema.Types.ObjectId, ref: 'Product.details'} – enRaiser
aber wie bekomme ich dann die richtige Version der Details? Ich möchte nur das richtige Produkt mit den richtigen Details bekommen. (Deshalb habe ich ein product_vid in das Produkt-Array in List gesetzt) – tellingeric