2

我的应用程序在 MongoDB 中有三个集合用户、频道和提要

用户可以注册频道。所以 Channel 将有一堆已注册该 Channel 的用户的参考 ID。

频道有多个提要。Feed 文档具有对频道的参考 ID。

我想根据他订阅的频道检索用户供稿。我如何在猫鼬中实现这一点?

4

1 回答 1

6

您可以使用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
});

如果那是你想要的,你应该能够扭转这种关系。

于 2013-04-15T08:17:56.703 回答