MongoDB查询在

时间:2018-06-13 11:20:20

标签: mongodb mongodb-query

我有MongoDB集合来存储帖子。对于每个帖子,我收集用户与此帖子的互动(例如,点击,完整阅读,显示)。 我不确定查询收集的正确方法是什么,以查找上周没有向给定用户显示的帖子。 现在结构看起来像:

id: ...
createdAt: ...
text: ...
...
interactions:
    reads: []
    clicks: []
    displays: [
      0: {
        user: ObjectId,
        date: 2018-06-13 01:00:00
      },
      1: {
        user: ObjectId,
        date: 2018-06-12 01:00:00
      },
    ]

我想知道是否可以lastDisplay < given date作为find()查询的一部分进行过滤。 我想到的其他解决方案是:

  • 使用map-reduce(但我不确定应该如何放在这里),
  • 创建一个额外的字段,可以为每个公司存储lastDisplay,但我不确定是否真的需要这么多冗余

使用这种过滤获取数据的首选解决方案是什么?

0 个答案:

没有答案