假设我们对编写一个特别慢的HFT引擎感兴趣,并且正在使用Mongo。
下面是JSON,表示一组每日外汇对象:
{
date: 2016-12-21,
relation: {
{currency: USD, value: 1.0},
{currency: EUR, value: 0.9},
}
},
{
date: 2016-12-21,
relation: {
{currency: USD, value: 0.9},
{currency: FJD, value: 1.0},
}
},我想在以下地方提取所有每日外汇对象:
多么?
发布于 2016-12-22 00:25:08
尝试以下几点:
db.collection.find( {
"$or" : [
{
"date" : "2016-12-21",
"relation.0.currency" : "JSD"
},
{
"date" : "2016-12-21",
"relation.1.currency" : "JSD"
}
]
})注意,示例文档不是有效的JSON,因此上面的查询将所有值作为字符串进行匹配。我还假设"relation“是一个嵌入的文档,而不是数组;"0”和"1“是字符串字段名,而不是数组位置。
如果您的“关系”结构为一组嵌入的文档,如下所示:
{
date: "2016-12-21",
relation: [
{ currency: "USD", value: 1.0},
{ currency: "EUR", value: 0.9},
]
}然后查询如下:
db.collection.find( {
"date" : "2016-12-21",
"relation.currency" : "JSD"
})有关详细信息,请参阅嵌入文档数组。
https://stackoverflow.com/questions/41273588
复制相似问题