을 작동 내 스키마입니다 :몽구스는 여기
이var sourcesSchema = {
title: String,
name: String,
url: String,
description: String,
category: Array,
rating: Number,
source_pages: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'source_page',
}]
}
var sourcePageschema = {
uname: String,
source_name: String,
page_address: String,
driver_name: String,
product: {
type: mongoose.Schema.Types.ObjectId,
ref: 'products' //Edit: I'd put the schema. Silly me.
}
}
var productsSchema = {
title: String,
uname: String,
descriptin: String,
images: Array,
currency: String,
last_update_time: Number,
last_process_time: Number,
meta_data: {},
tags: Array,
min_price: Number,
max_price: Number,
prices: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'prices' //Edit: I'd put the schema. Silly me.
}]
}
이 코드가 작동하고 성공적으로 source_pages를 채울 :
_sources.find().populate('source_pages').populate('source_pages.product').exec(function (err,sources) {
res.json(200, sources);
})
:
_sources.find().populate('source_pages').exec(function (err,sources) {
res.json(200, sources);
});
을하지만 난 너무 제품을 채우려면
이 오류 :
TypeError: Cannot call method 'path' of undefined at search (/home/sina/rhino2/node_modules/mongoose/lib/model.js:2088:28) at search (/home/sina/rhino2/node_modules/mongoose/lib/model.js:2107:22) at Function._getSchema (/home/sina/rhino2/node_modules/mongoose/lib/model.js:2114:5) at populate (/home/sina/rhino2/node_modules/mongoose/lib/model.js:1719:22) at Function.Model.populate (/home/sina/rhino2/node_modules/mongoose/lib/model.js:1702:5) at cb (/home/sina/rhino2/node_modules/mongoose/lib/query.js:1690:11) at /home/sina/rhino2/node_modules/mongoose/lib/utils.js:414:16 at /home/sina/rhino2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:158:16 at commandHandler (/home/sina/rhino2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:643:16) at null. (/home/sina/rhino2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1641:20)
이 문제는 async nodejs 모듈 –
으로 해결되었습니다. 감사합니다. 모듈을 살펴 봅니다. – abritez