保存后,Mongoose返回填充数组

我想返回一个更新的对象作为JSON,其中更新是设置一个objectIDs数组。 我希望返回的反对将该数组填充。 例如,我有以下(简化)模型:

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,但响应用户始终显示“[]”作为朋友的数组。

任何人看到我的问题?