保存后,Mongoose返回填充的数组

时间:2014-11-08 12:59:39

标签: node.js express model mongoose populate

我正在尝试将更新的对象作为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,但响应用户总是将“[]”显示为朋友数组。

有人看到我的问题吗?

0 个答案:

没有答案