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
Node.js 查询日期范围内的Mongodb集合_Node.js_Mongodb - Fatal编程技术网

Node.js 查询日期范围内的Mongodb集合

Node.js 查询日期范围内的Mongodb集合,node.js,mongodb,Node.js,Mongodb,我收集了以下文件: var interactions = [ { _id: 54ed77eec55b18101e82f205, email: 'customercare@tikona.in', contactCompanyName: 'tikona', contactFullName: 'Customercare', contactValue: 0, "interactionDate": "2016-03-30T08:28:58.000Z", }, { _

我收集了以下文件:

var interactions = [ { _id: 54ed77eec55b18101e82f205,
    email: 'customercare@tikona.in',
    contactCompanyName: 'tikona',
    contactFullName: 'Customercare',
    contactValue: 0,
    "interactionDate": "2016-03-30T08:28:58.000Z",
},
{ _id: 54ed77eec55b18101e82f205,
    email: 'inbox@google.com',
    contactCompanyName: 'google',
    contactFullName: 'inbox',
    contactValue: 0,
    "interactionDate": "2016-03-30T08:28:58.000Z",
},
{ _id: 54ed77eec55b18101e82f205,
    email: 'nazar@zinavo.com',
    contactCompanyName: 'zinavo',
    contactFullName: 'nazar',
    contactValue: 0,
    "interactionDate": "2016-03-25T08:28:58.000Z",
},
    { _id: 54ed77eec55b18101e82f205,
        email: 'nazar@zinavo.com',
        contactCompanyName: 'zinavo',
        contactFullName: 'nazar',
        contactValue: 0,
        "interactionDate": "2016-03-26T08:28:58.000Z",
    },
    { _id: 54ed77eec55b18101e82f205,
        email: 'nazar@zinavo.com',
        contactCompanyName: 'zinavo',
        contactFullName: 'nazar',
        contactValue: 0,
        "interactionDate": "2016-03-13T08:28:58.000Z",
    },
    { _id: 54ed77eec55b18101e82f205,
        email: 'inbox@google.com',
        contactCompanyName: 'google',
        contactFullName: 'inbox',
        contactValue: 0,
        "interactionDate": "2016-04-06T08:28:58.000Z",
    },
    { _id: 54ed77eec55b18101e82f205,
        email: 'nazar@zinavo.com',
        contactCompanyName: 'zinavo',
        contactFullName: 'nazar',
        contactValue: 0,
        "interactionDate": "2016-04-03T08:28:58.000Z",
    }]
如何查询此集合,以便
interactionDate
大于或等于过去60天,但小于或等于过去30天。i、 e我需要查找并统计2016年2月12日至2016年3月12日以及2016年3月12日至2016年4月12日期间的文件,然后找出这两个日期范围之间的交互次数差异

我尝试过的技巧

获取两个日期范围的交互。e、 g

{ '$gte': Fri Feb 12 2016 11:29:29 GMT+0530 (IST),
  '$lte': Tue March 12 2016 11:29:29 GMT+0530 (IST) }
然后运行第二个查询:

{ '$gte': Fri Marc 12 2016 11:29:29 GMT+0530 (IST),
  '$lte': Tue Apr 12 2016 11:29:29 GMT+0530 (IST) }
然后,对于每封电子邮件,减去交互次数

聚合查询:

{
    $match:{
        {"interactions.email":{$in:emailArr}}}
},
{
    $group:{
        _id: "$interactions.email",
            count: { $sum: 1}
    }
},
{
    $sort: {"count" : -1}
},
{
    $project:{
        email: "$_id",
            interactionCount
    :
        "$count",
            _id
    :
        0,
    }

你考虑过用大纪元存储日期吗?我没想过。但是大纪元时间应该如何帮助我呢?示例数据中的电子邮件ID是真实的吗?您可能不想公开客户电子邮件地址。它们不是真实的数据。它们只是时事通讯电子邮件ID:-)您的聚合操作表明在您的文档中有一个嵌入字段
交互。电子邮件
,但您上面的示例文档不这么说,您能否对此进行澄清?