Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Mongo DB ISO格式_Mongodb_Aggregation Framework - Fatal编程技术网

Mongodb Mongo DB ISO格式

Mongodb Mongo DB ISO格式,mongodb,aggregation-framework,Mongodb,Aggregation Framework,根据下面的查询返回结果,我想过滤月份和年份 例如,我只需要3月份的数据 db.SBM_USER_DETAIL.aggregate([ { $project: { join_date: '$JOIN_DATE' } } ]).map( function(d) { d.join_date = moment(d.join_date).locale('es').tz("Asia/Kolkata").format(); return d

根据下面的查询返回结果,我想过滤月份和年份

例如,我只需要3月份的数据

db.SBM_USER_DETAIL.aggregate([
{
    $project: {
        join_date: '$JOIN_DATE' 
    }
}
]).map(
    function(d) {
       d.join_date = moment(d.join_date).locale('es').tz("Asia/Kolkata").format();
       return d
})

如何在MongoDB聚合查询中使用返回的join_date格式值?

MongoDB的ISODate与javascript date类非常相似。如果您在加尔各答时区中有一个日期范围,并且希望根据该范围进行筛选,请在运行查找之前实例化一对日期对象来定义该范围

在这种情况下,要返回2017年3月内转换为加尔各答(UTC-07:00)时区的所有
join_date
值,请过滤大于或等于3月1日午夜和小于4月1日午夜的日期,然后使用矩转换结果:

var first = new Date("2017-03-01T00:00:00-07:00");
var last = new Date("2017-04-01T00:00:00-07:00");
db.SBM_USER_DETAIL.find(
    {join_date:{$gte: first, $lt: last}}, //filter based on join_date
    {join_date:1,_id:0}   // only return join_date, omit this if you need all fields
).map(
    function(d) {
        d.join_date = moment(d.join_date).locale('es').tz("Asia/Kolkata").format();
        return d;
    }
);

对我来说(也可能对其他人来说),你问的问题并不十分清楚。你说你想按月份和年份过滤。然后询问如何使用
join\u date
的格式化值。您的意思是要对返回的
join_date
值按月份和年份应用筛选器吗?首先,很抱歉。是的,我想按月份和年份对返回的join_date值应用筛选器。请您解释一下是否需要使用
map
功能?在这个查询中,您只想按日期、月份和年份进行筛选吗?