MongoDB查询将同一年份的日期与年份字段进行比较

时间:2017-08-16 15:06:26

标签: mongodb

我有这种结构的文件:

{
"_id" : ObjectId("59936474a955fb3f18db07d5"),
"CD_MATRICULA" : 12,
"DT_FROM" : ISODate("2014-04-04T16:21:37.000-03:00"),
"DT_FROM_ANO" : 2012,
"DT_FROM_MES" : 2,
"DT_FROM_DIA" : 2 }

在此示例中,DT_FROM_ANO与YEAR(DT_FROM)不同,我需要查找具有此差异的文档,我尝试这个但不起作用:

    db.getCollection('TABLESAMPLE').aggregate(
    {$project: {
      CD_MATRICULA: 1,
      DT_FROM: 1, 
      DT_FROM_ANO: 1,
      DT_FROM_MES: 1,
      DT_FROM_DIA: 1,
      DT_TO: 1,
      ANO: {$year: '$DT_FROM'},
      MES: {$month: '$DT_FROM'},
      DIA: {$dayOfMonth: '$DT_FROM'}
    }
  },
  {$match: 
      { DT_FROM_ANO: {$ne: '$ANO'} }
  }
);

在这种情况下,所有文件都将返回,只存在YEAR不同的文件。 怎么了 ???我只需要在年度回报中有差异的文档。

0 个答案:

没有答案