【问题标题】:compare date with only month or year in mongodb [duplicate]在mongodb中将日期与只有月份或年份进行比较[重复]
【发布时间】:2017-07-09 16:03:42
【问题描述】:

有什么方法可以将 MongoDb 集合中的日期仅与月份或年份进行比较。例如:-

集合中的文档:-

{
"pageName": "xyz",
"createdAt": "ISODate("2017-02-19T18:30:00Z")"
},
{
"pageName": "abc",
"createdAt": "ISODate("2017-03-19T18:30:00Z")"
},
{
"pageName": "pqr",
"createdAt": "ISODate("2018-02-19T18:30:00Z")"
},
{
"pageName": "dfg",
 "createdAt": "ISODate("2017-03-19T18:30:00Z")"
}

我的期望是:- 如果我只通过一个月,比如 02 和年份,比如 2017,那么它将返回:-

{
  "pageName": "xyz",
  "createdAt": "ISODate("2017-02-19T18:30:00Z")"
}

帮助我为这个场景编写 MongoDb 查询。

【问题讨论】:

    标签: mongodb mongoose mongodb-query


    【解决方案1】:

    以下查询将适用于您的情况。

    db.getCollection('collection_name').aggregate(
       [
         {
           $project:
             {
               pageName: "$pageName",
               createdAt: "$createdAt",
               year: { $year: "$createdAt" },
               month: { $month: "$createdAt" }
             }
         },
         { $match : { "month" : 2, "year": 2017 } }
       ]
    )
    

    【讨论】:

    • 如果我想做一个随机的一个月的一年和一天,它会是什么样子?
    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多