Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongoose保存后返回填充的数组_Node.js_Express_Model_Mongoose_Populate - Fatal编程技术网

Node.js Mongoose保存后返回填充的数组

Node.js Mongoose保存后返回填充的数组,node.js,express,model,mongoose,populate,Node.js,Express,Model,Mongoose,Populate,我试图以JSON的形式返回一个更新的对象,更新的目的是设置一个ObjectID数组。我希望返回的对象填充该数组。例如,我有以下(简化)模型: 在我的控制器中,我有: 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

我试图以JSON的形式返回一个更新的对象,更新的目的是设置一个ObjectID数组。我希望返回的对象填充该数组。例如,我有以下(简化)模型:

在我的控制器中,我有:

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,但是响应用户总是将“[]”显示为好友数组

有人看到我的问题了吗

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);
        }
      });
    });
  });
}