用于查找移动值的Mongo查询

时间:2018-02-06 09:46:56

标签: mongodb mongodb-query

我的mongo数据如下。

{
"date" : Jan,
"rank" : 1,
"StudentId: 10
},
{
"date" : Jan,
"rank" : 1,
"StudentId: 20
},
{
"date" : Jan,
"rank" : 2,
"StudentId: 30
},

{
"date" : Feb,
"rank" : 1,
"StudentId: 10
},
{
"date" : Feb,
"rank" : 2,
"StudentId: 20
},
{
"date" : Feb,
"rank" : 3,
"StudentId: 30
}

我希望得到理想的结果,因为从1月到2月,从1月到2月的移动排名从1月到2月。 即。从上面的json我想要下面的结果

{
"date" : Feb,
"rank" : 2,
"StudentId: 20
}

ie ..从日期是Jan,到日期是2月,从日期等级是1到日期等级是2。

如何使用mongo db query ???

实现此目的

1 个答案:

答案 0 :(得分:0)

您可以使用范围和cond聚合运算符来实现此目的:

db.ranks.aggregate(
   [
      {
         $project:
           {
             item: 1,
             date:
               {
                 $cond: [ your condition here]
               },
         rank: {$range:[0, 1]}
           }
      }
   ]
)

应该有用!