我有两种猫鼬方案,一种用于用户,一种用于帖子。
一个用户可以喜欢许多帖子。
最后,我想在客户端中展示用户喜欢的所有帖子,我可以使用populate()方法来完成,而在另一部分中,用户不喜欢而无需创建重复的帖子喜欢的帖子中。
是否可以使用unpopulate()方法仅获取不同的帖子?如果没有,什么是最好的方法?
userScheme =
{
// some other fields…
post: {
type: Schema.Types.ObjectId,
ref: 'Post'
}
}
postScheme =
{
// some other fields…
user: {
type: Schema.Types.ObjectId,
ref: 'User'
},
likes: [
{
type: Schema.Types.ObjectId,
ref: 'User'
}
],
}
答案 0 :(得分:0)
您可以查询likes
数组中没有该特定用户的所有帖子,即该用户还不喜欢该用户。 Reference
Post.find({ likes: { $nin: [user._id] }})