Mongodb Mongo聚合和基本查询
我在mongo db中有一个包含以下格式的多个文档的库存集合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
{
Id: ‘RELI’
Date: ‘2018-10-13’
Price: 900
}
我想写几个问题:
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吗?更新了答案。