2016-05-12 51 views
3

我想保存在我的用户的用户模型的裁判 - 追随者阵:如何使用ref在mongodb中正确存储文档 - 猫鼬?

这个模型看起来是这样的:

User = require('../models/user.js'); 
ObjectId = mongoose.Schema.Types.ObjectId; 

User = new Schema({ 

followers: [{ type: ObjectId, ref: 'User' }], 

现在我想保存每一个用户遵循时间用户喜欢这样:

User.findByIdAndUpdate({_id: myId}, { $addToSet: {followers: user._id, 

但是,这只存储字符串,而不是整个用户对象?这是怎么想的?如果是这样,那么要抓住它的信息的其余部分,我只需要做一个填充查询?

如果它是假设存储整个对象,那么它是否更新以及对象被更新?

回答

1

我打算把这个问题删除,但我发现人们投票赞成这么做来帮助他们,我会发布我的发现。

显然,这将只存储ID,并再调用它,我使用了一个基本填入调用它像这样:

User 
.findOne({ _id: myId }) 
.populate('followers', '_id name count') // 
.exec(function (err, doc) { 
    if (err) return handleError(err); 


})