我有一个股票数据库,保存如下:
[
{
_id: ObjectId("637b826fcef6ee66c879d5f3"),
ticker: 'AA',
quotes: [
{
volume: 14092516,
open: 64.71,
close: 67.37,
high: 68.58,
low: 62.46,
transactions: 123967,
date: '2022-04-25'
},
{
volume: 7984906,
open: 67.15,
close: 66.97,
high: 69.03,
low: 64.67,
transactions: 81841,
date: '2022-04-26'
}
]
},
{
_id: ObjectId("637b92270e5e92b99783dcf9"),
ticker: 'AAPL',
quotes: [
{
volume: 96017376,
open: 161.12,
close: 162.88,
high: 163.17,
low: 158.46,
transactions: 925124,
date: '2022-04-25'
},
{
volume: 95595226,
open: 162.25,
close: 156.8,
high: 162.34,
low: 156.72,
transactions: 899965,
date: '2022-04-26'
}
]
}
]
如何编写查询来获取特定日期的特定股票报价?
例如,我如何编写一个查找或聚合查询,以获取日期为2022年4月25日的AAPL报价
1条答案
按热度按时间ukdjmx9f1#
您可以使用的最简洁的语法可能是:
Playground example here
也就是说,这里有一些额外的考虑:
ticker: 1
所做的那样)。$filter
通过$addFields
。下面是一个更详细的聚合替代方法的示例:
Playground demonstration here