Node.js mongoDB/mongoose加入两个集合
我的mongoDB数据库中有两个集合,“posts”和“likes”。模式如下(简化): 当有人喜欢一篇文章时,我会在likes集合中创建一个新文档,并更新相应的post文档中的“likes”值。当有人不喜欢时,我会删除Like文档,并减少相应Post文档中的“likes”值 现在我想查询所有帖子,按时间戳排序(降序),并显示用户是否喜欢某篇帖子。因此,我想获取所有帖子信息+一个布尔值,指示用户是否喜欢帖子(用户ID+帖子ID存在一个相似的文档)Node.js mongoDB/mongoose加入两个集合,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我的mongoDB数据库中有两个集合,“posts”和“likes”。模式如下(简化): 当有人喜欢一篇文章时,我会在likes集合中创建一个新文档,并更新相应的post文档中的“likes”值。当有人不喜欢时,我会删除Like文档,并减少相应Post文档中的“likes”值 现在我想查询所有帖子,按时间戳排序(降序),并显示用户是否喜欢某篇帖子。因此,我想获取所有帖子信息+一个布尔值,指示用户是否喜欢帖子(用户ID+帖子ID存在一个相似的文档) 在SQL中,我会使用子查询或联接执行类似的操作,
在SQL中,我会使用子查询或联接执行类似的操作,但我不知道如何在mongoDB/mongoose中执行此操作。对于每篇文章,什么是最好的解决方案?这是否回答了您的问题@是的,
$lookup
是我需要的。非常感谢。
// PostSchema
{
_id: Number,
user_id: Number,
title: String,
text: String,
timestamp: Date,
likes: Number
}
// LikeSchema
{
_id: Number,
user_id: Number,
post_id: Number,
timestamp: Date
}