mongoDB / mongoose加入两个集合

时间:2020-09-29 09:46:56

标签: node.js mongodb mongoose

我的mongoDB数据库中有2个收藏集,“帖子”和“喜欢”。模式如下所示(简化):

// 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
}

当某人喜欢某个帖子时,我会在Likes集合中创建一个新文档,然后更新相应的Post文档中的“ likes”值。当有人不喜欢时,我会删除“喜欢”文档,并减少相应“发布”文档中的“喜欢”值。

我现在要查询所有按时间戳(降序排列)排序的帖子,并且想显示用户是否喜欢该帖子。因此,我想获取所有帖子信息+一个指示用户是否喜欢帖子的布尔值(用户ID +帖子ID存在“喜欢”文档)。

在SQL中,我会通过子查询或联接来执行类似的操作,但是我不知道如何在mongoDB / mongoose中执行此操作。对于每个帖子,最好的解决方案是什么?

0 个答案:

没有答案
相关问题