我正在使用mongoose作为一个由用户模型(= USER)组成的数据库。并且用户有这样的朋友:
friends: [{ type: Schema.Types.ObjectId, ref:'User'}]
并且用户可以通过点击用户名(在列表中)查看他所有朋友的列表并访问他们的个人资料,但是此时朋友的'朋友'阵列尚未填充。有没有办法在点击用户名时填充此数组,而无需使用USER.findOne?所以我的意思是,如果朋友是持有朋友对象的变量,请执行像friend.populate这样的操作。
- 我也使用passport.js所以登录的用户总是可以在req.user中找到,我也想填充这个,而不必在数据库中找到他。
您回答了自己的问题,因为doc.populate
将完全按照您的意愿行事。无论如何,即使populate
调用DB来获取用户文档,因为它是唯一存储它的地方。