2
我想添加到Blog
對象幾個Categories
對象,並在這之後獲得訪問第一類博客。NodeJS + Mongoose:人羣不工作
var ObjectId = mongoose.Schema.Types.ObjectId;
var categorySchema = mongoose.Schema({
title: String,
blogs: [{ type: ObjectId, ref: 'Blog' }]
})
var blogSchema = mongoose.Schema({
title: String,
description: String,
category: [{ type: ObjectId, ref: 'Category' }],
created: {type: Number, default: new Date().getTime()}
})
var Category = mongoose.model('Category', categorySchema)
var Blog = mongoose.model('Blog', blogSchema)
exports.addBlog = function (object, callback) {
Blog({
title: object.title,
description: object.description,
category: object.category //array of sting ObjectID's - ['',''] – from multiselect box
}).save(function (err, _) {
Blog
.find({title: _.title})
.populate('category')
.exec(function (err, __) {
if (err) return handleError(err);
console.log('Category is ', __.category[0].title);
})
callback(err, _);
});
}
結果我得到:
TypeError: Cannot read property '0' of undefined
看來貓鼬無法找到的最後一個回調(__)的對象,但我已經檢查 - _.title
是有效的。如何填充它?謝謝。
第一次看:似乎'__。category'沒有被定義,因爲錯誤消息說0,這是唯一的地方你有一個0. – gustavohenke
@gustavohenke我已經fugured它:問題是博客。 find()返回一個數組,我應該使用__ [0] .category [0] .title或findOne()查找 –