Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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聚合和基本查询_Mongodb - Fatal编程技术网

Mongodb Mongo聚合和基本查询

Mongodb Mongo聚合和基本查询,mongodb,Mongodb,我在mongo db中有一个包含以下格式的多个文档的库存集合 { Id: ‘RELI’ Date: ‘2018-10-13’ Price: 900 } 我想写几个问题: 日期1和日期2之间的股票价格序列 股票价格系列 d1和d2之间n(股票ID数组,如[Id1,Id2…])股票的价格 基于粒度的过去n年的股票价格(每周和每月)。只需要每周和每月的数据点。 过去n个月 我已经为前两个问题编写了查询 1. db.stocks.find({ "id":"REL1", "price

我在mongo db中有一个包含以下格式的多个文档的库存集合

{
  Id: ‘RELI’
  Date: ‘2018-10-13’
  Price: 900
}
我想写几个问题:

  • 日期1和日期2之间的股票价格序列
  • 股票价格系列
  • d1和d2之间n(股票ID数组,如[Id1,Id2…])股票的价格
  • 基于粒度的过去n年的股票价格(每周和每月)。只需要每周和每月的数据点。 过去n个月
  • 我已经为前两个问题编写了查询

    1. db.stocks.find({
      "id":"REL1",
      "price":{
         "$gte": ISODate(d1),
         "$lt": ISODate(d2)
       }
    })
    
    
    2.// Calculate the today’s date
       let d1 = new Date()
       // n is the number of months for which we are trying to fetch the 
       data
       Let d2 = d1.setMonth(d.getMonth() - n);
    
       db.stocks.find({
          "id":"REL1",
          "price":{
                "$gte": ISODate(d1),
                "$lt": ISODate(d2)
           }
        })
    

    你们能帮我处理第三和第四个问题吗?或者帮我优化前两个查询,这两个查询是我为过去n年的股票写的

    db.collection.find({
      "id": "REL1",
      "$expr": {
        "$eq": [
          { "$year": {
            "$dateFromString": { "dateString": "$Date" }
          }},
          2018
        ]
      }
    })
    

    对于介于
    d1
    d2
    之间的股票,您的第一次查询是完美的?

    请尝试广泛解释您的观点。1。我想取n只股票在date1和date2之间的价格。最近n年(例如n=1)的股票价格。只需要每周和每月的数据点@AnthonyWinzleties第一次查询正确,我被困在第三和第四次查询中,第三次可以使用上面的查询如何传递股票的多个ID?这是我在mongo的第一个项目,很抱歉问了一些愚蠢的问题。你确定你在回答中写的查询会返回特定股票的每周和每月价格吗?我们不需要传递id吗?更新了答案。