2
我的应用程序有三个集合MongoDB中的用户,通道和源在猫鼬中获取参考集合
用户可以注册通道。所以Channel将拥有已注册该频道的用户的参考ID。
频道有多个Feed。 Feed文件具有参考ID到频道。
我想根据他订阅的频道检索用户订阅源。 我如何在Mongoose中实现这一点?
我的应用程序有三个集合MongoDB中的用户,通道和源在猫鼬中获取参考集合
用户可以注册通道。所以Channel将拥有已注册该频道的用户的参考ID。
频道有多个Feed。 Feed文件具有参考ID到频道。
我想根据他订阅的频道检索用户订阅源。 我如何在Mongoose中实现这一点?
您可以使用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
});
你应该能够扭转的关系,如果这就是你想要的东西来代替。
谢谢。我必须这样做才能在渠道中获取Feed? –
是的,你可以在所有需要引用其他集合的模型中这样做。 – NilsH