2016-05-12 52 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); 


})