Mongodb按一列对多个值进行排序

时间:2020-10-15 06:34:24

标签: mongodb

我正在使用node.js Express,mongo-db数据库,我陷入了以下问题!!!

在数据库中,帖子集合有一个名为“ seen_by” 的列,其类型为数组。
如果用户看到了该帖子,则“ seen_by”数组将包含它的user_id。
现在,我必须从帖子收集中获取数据,在看到的帖子之后列出用户的看不见的帖子。

现在我的问题是如何在mongodb中用两个不同的值对一个簇进行排序

示例:

  1. post_id:10,名称:test,post_date:10/14/2020,Seen_by:Array,0:10,
  2. post_id:11,name:test1,post_date:10/15/2020,Seen_by:Array,0:10,
  3. post_id:15,名称:tabf,post_date:09/14/2020,Seen_by:Array,0:1,
  4. post_id:20,名称:userTest,post_date:10/14/2020,Seen_by:Array,0:10

如果现在登录用户ID为1,则输出应如下所示: 1)Post_id:10,.... 2)post_id:11,.... 3)post_id:20,... 4)post_id:15,...

如何在Mongo-db中获得高于要求的响应?

1 个答案:

答案 0 :(得分:0)

您可以使用聚合函数。
首先投影一个字段,以表示使用情况是否见过文章。
然后进行排序,您可以在MongoDB排序中指定多个字段,并以顺序表示排序条件。

以下是示例https://mongoplayground.net/p/PZDhKr33Qr-

相关问题