【问题标题】:mongodb aggregate function google cloud consolemongodb聚合函数谷歌云控制台
【发布时间】:2016-12-18 12:04:04
【问题描述】:

关于 mongodb 如何为我的 MEAN.js 应用程序工作,我有一个奇怪的问题。对于 MEAN 应用程序来说,这不是问题,而直接对于 MONGODB 而言。

在我的本地计算机(Win 8.1)和 VM(Ubuntu 服务器 14.x)上,使用 mongoose 的聚合函数可以正常工作,但是当我将具有相同版本 Mongodb 的项目上传到 Google Cloud 虚拟实例(2 个 CPU 或4 个 CPU)一切正常,直到聚合函数被触发。我没有来自服务器的错误要显示,这就是为什么很奇怪...... (MongoDB v3.2.8 或 3.2.6,都适用于本地)我尝试了 3 个不同的 Google Cloud VI,但结果相同...

我的查询是关于每天计算记录(如果找到)。这是我的查询:

    { "$match": { '$and':
           [ { firm: ObjectId('574e81be2153f45b0c3d6811') },
             { created:
                { '$gte': ISODate('Tue Jul 12 2016 15:56:04 GMT+0000 (UTC)'),
                  '$lte': ISODate('Thu Aug 11 2016 15:56:04 GMT+0000 (UTC)') } },
             { transactionStatus: 1 } ] }
        },
        { "$group": {
          "_id": {
            "$add": [
              { "$subtract": [
                { "$subtract": [ "$created", new Date(0) ] },
                { "$mod": [
                  { "$subtract": [ "$created", new Date(0) ] },
                  OneDay
                ] }
              ] },
              new Date(0)
            ]
          },
          "count": { "$sum": 1 }
        } 
    }

我尝试将 MONGODB 版本切换到 2.6 或类似的版本,但仍然没有结束。我在这里或其他任何地方都找不到类似的东西,这就是我在这里问的原因。 提前非常感谢。

【问题讨论】:

    标签: node.js mongodb mongoose google-cloud-platform meanjs


    【解决方案1】:

    我不知道为什么,但是如果我将正在执行的查询更改为这样的聚合:

    { '$and':
      [ { created:
          { '$gte': ISODate('Tue Jul 12 2016 15:56:04 GMT+0000 (UTC)'),
            '$lte': ISODate('Thu Aug 11 2016 15:56:04 GMT+0000 (UTC)') } },
        { transactionStatus: 1 },
        { firm: ObjectId('574e81be2153f45b0c3d6811') }
      ] 
    }
    

    从这里:

    { '$and':
      [ { firm: ObjectId('574e81be2153f45b0c3d6811') },
        { created:
          { '$gte': ISODate('Tue Jul 12 2016 15:56:04 GMT+0000 (UTC)'),
            '$lte': ISODate('Thu Aug 11 2016 15:56:04 GMT+0000 (UTC)') } },
        { transactionStatus: 1 } 
      ] 
    }
    

    一切正常...有人可以向我解释一下吗?反正这个话题可以关了。

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 2019-07-11
      • 2019-08-12
      • 2019-02-12
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      相关资源
      最近更新 更多