Я пытаюсь выполнить ассоциации, ссылаясь на метод. Есть 2 модели: 1. Пользовательская 2. Товарная.
Я установил отношения один-к-одному: 1 пользователь может иметь несколько продуктов. Создание пользователя выполнено успешно Создание продукта выполнено успешно
Ввод кода
var mongoose = require("mongoose");
mongoose.connect("mongodb://localhost/product_demo_x9");
Схема продукта
var productSchema = new mongoose.Schema({
category : String,
Brand: String
});
var Product = mongoose.model("product", productSchema);
Схема пользователя
var userSchema = new mongoose.Schema({
email: String,
name: String,
products: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Product"
}
]
});`
var User = mongoose.model("user", userSchema);
Создание пользователя
User.create({
email: "[email protected]",
name: "Maddy"
},function(err,newUser){
if(err){
console.log(err);
}
else {
console.log(newUser);
}
});
Создание продукта
Product.create({
category: "Smartwatches",
Brand: "Samsung and Google"
},
function(err,product){
console.log(product);
User.findOne({name : "Maddy"},function(err,foundUser){
if(err) {
console.log(err);
}
else {
foundUser.products.push(product);
foundUser.save(function(err,updatedUser){
if(err){
console.log(err);
}
else {
console.log(updatedUser);
}
});
}
});
});
Отображение связанных данных на консоли
User.find({email: "[email protected]"}).
populate("products").
exec(function(err,user){
if(err){
console.log(err);
}
else {
console.log(user);
}
});
Вывод кода
Создание пользователя (успех)
[{
products: [],
_id: 5a47acb0317d4e3c2081b8ce,
email: '[email protected]',
name: 'Maddy',
__v: 0
}]
Создание продукта и связывание (Успех)
{
_id: 5a47acd53c771123b4018ff1,
category: 'Smartwatches_2',
Brand: 'Samsung and Google',
__v: 0
}
{
products: [ 5a47acd53c771123b4018ff1 ],
_id: 5a47acb0317d4e3c2081b8ce,
email: '[email protected]',
name: 'Maddy',
__v: 1
}
Отображение встроенных данных с помощью заполнения - Ошибка !!
{ MissingSchemaError: Schema hasn't been registered for model "products".
Use mongoose.model(name, schema)
at new MissingSchemaError
Кто-нибудь может объяснить мне, как это сделать правильно? Заранее спасибо