我正在尝试将更新的对象作为JSON返回,其中更新是设置objectID的数组。我希望返回的对象填充该数组。例如,我有以下(简化)模型:
var UserSchema = new mongoose.Schema({
username: {type: String, unique: true, required: true},
friends: [{type: mongoose.Schema.Types.ObjectId, ref: 'User'}]
});
在我的控制器中,我有:
exports.saveFriends = function(req, res) {
User.findById(req.params.user_id, function(err, user) {
// req.body.friends is JSON list of objectIDs for other users
user.friends = req.body.friends
user.save(function(err) {
user.populate({path: 'friends'}, function(err, ticket) {
if (err) {
res.send(err);
} else {
res.json(user);
}
});
});
});
}
实际上这确实将数组正确地保存为ObjectID,但响应用户总是将“[]”显示为朋友数组。
有人看到我的问题吗?