В мангустах, в настоящее время я получил 2 схемы первые один деталь продукта и второй один инвентарь и схемы являются в отдельных файлахмангуст Заселите возвращение пустого
ProductDetail Схема
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var productDetailSchema = new Schema({
ProductID:{type:String,unique:true, require:true},
ProductName:{type:String, require:true},
Spec:String,
Price:String,
Unit:String,
OwnBrand:Boolean,
Inventory:{ type: Schema.Types.ObjectId, ref: 'inventoryModel'}
}, {collection:'products'});
module.exports = mongoose.model('productDetailModel', productDetailSchema)
инвентаризация схема
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var inventorySchema = new Schema({
product:{ type: Schema.Types.ObjectId, ref: 'productDetailModel' },
stockLevel:Number
}, {collection:'inventory'});
module.exports = mongoose.model('inventoryModel', inventorySchema)
В этом случае я хотел бы поместить инвентарь stockLevel в productDetail. Как это
{
ProductID:'P701',
ProductName:'popcorn',
Spec:'Large Pack',
Price:'10.00',
Unit:'packs'
Inventory: 20
}
Поэтому я стараюсь использовать метод мангуст заселить
productDetail.findOne({ProductID:'P701'}).populate('Inventory').exec(function(err, doc){
if(err){
console.log(err)
}else{
console.log(doc)
}
})
Это данные, которые я имею в моей коллекции «Inventory»
{
"_id" : ObjectId("584f663d95dfa29bad337572"),
"ProductID": "P701",
"StockLevel": "20"
}
а данные в сборнике «ProductDetail Collection»
{
_id : ObjectId("584a3cea027c1f62da941acf"),
ProductID:'P701',
ProductName:'popcorn',
Spec:'Large Pack',
Price:'10.00',
Unit:'packs'
}
По какой-то причине ошибки не появляются, но console.log (doc) по-прежнему не содержит никакого инвентаря: stockLevel. Я знаю, что я делаю что-то неправильно, но я понятия не имею, где это. Какую ключевую концепцию мне не хватает, чтобы этот код работал? Заранее спасибо
Можете ли вы показать, как именно вы сохраняете 'inventoryModel' _id в' productDetailModel'? –
Не могли бы вы разместить содержимое в продуктеДетали продукта: 'P701'? Похоже, что вы храните недопустимый инвентарь повторно при сохранении детали продукта. –