我的应用程序在 MongoDB 中有三个集合用户、频道和提要
用户可以注册频道。所以 Channel 将有一堆已注册该 Channel 的用户的参考 ID。
频道有多个提要。Feed 文档具有对频道的参考 ID。
我想根据他订阅的频道检索用户供稿。我如何在猫鼬中实现这一点?
我的应用程序在 MongoDB 中有三个集合用户、频道和提要
用户可以注册频道。所以 Channel 将有一堆已注册该 Channel 的用户的参考 ID。
频道有多个提要。Feed 文档具有对频道的参考 ID。
我想根据他订阅的频道检索用户供稿。我如何在猫鼬中实现这一点?
您可以使用ObjectId
架构类型来引用其他集合中的文档。然后,您可以populate
在查询父文档时使用这些文档来填充这些文档。例如:
var UserSchema = new Schema({
// Some fields
channels: [{type: ObjectId, ref: 'Channel'}]
});
然后当你获取一个用户时,你可以populate
这样使用:
User.findById(user._id).populate('channels').exec(function(err, userWithChannels) {
var channels = userWithChannels.channels;
// Do your work
});
如果那是你想要的,你应该能够扭转这种关系。