Node.js 在mongodb中显示集合中的特定数据
大家好,我是mongodb的新手,当我尝试在收藏中查找时遇到了一些问题,我希望有人能帮助我 假设我有以下收藏:Node.js 在mongodb中显示集合中的特定数据,node.js,mongodb,express,Node.js,Mongodb,Express,大家好,我是mongodb的新手,当我尝试在收藏中查找时遇到了一些问题,我希望有人能帮助我 假设我有以下收藏: { columns:[ 'Divisa', '05/10/2015', '02/10/2015', '01/10/2015', '30/09/2015', '29/09/2015', '28/09/2015', '25/09/2015', '24/09/2015', ], data:[ {
{
columns:[
'Divisa',
'05/10/2015',
'02/10/2015',
'01/10/2015',
'30/09/2015',
'29/09/2015',
'28/09/2015',
'25/09/2015',
'24/09/2015',
],
data:[
{
'Divisa':'USD',
'05/10/2015':'11236',
'02/10/2015':'1116',
'01/10/2015':'11153',
'30/09/2015':'11203',
'29/09/2015':'11204',
'28/09/2015':'1117',
'25/09/2015':'11151',
'24/09/2015':'11241'
},
{
'Divisa':'BGD',
'05/10/2015':'19558',
'02/10/2015':'19558',
'01/10/2015':'19558',
'30/09/2015':'19558',
'29/09/2015':'19558',
'28/09/2015':'19558',
'25/09/2015':'19558',
'24/09/2015':'19558'
},
{
'Divisa':'CYP',
'05/10/2015':'0',
'02/10/2015':'0',
'01/10/2015':'0',
'30/09/2015':'0',
'29/09/2015':'0',
'28/09/2015':'0',
'25/09/2015':'0',
'24/09/2015':'0'
}
]
}
现在我想在exmample的集合中查找一些内容:
A-我想按日期范围从2015年10月5日到2015年10月1日进行所有货币搜索,然后我需要返回如下内容:
{
columns:[
'Divisa',
'05/10/2015',
'02/10/2015',
'01/10/2015',
],
data:[
{
'Divisa':'USD',
'05/10/2015':'11236',
'02/10/2015':'1116',
'01/10/2015':'11153',
},
{
'Divisa':'BGD',
'05/10/2015':'19558',
'02/10/2015':'19558',
'01/10/2015':'19558',
},
{
'Divisa':'CYP',
'05/10/2015':'0',
'02/10/2015':'0',
'01/10/2015':'0',
}
]
}
我想知道查找的结构是什么,我需要使用它来获得类似的结果
B-我还需要知道如何查找并返回与某一货币相关的所有信息,例如,我希望searh所有与“USD”货币相关的信息,我需要返回类似的信息:
columns:[
'Divisa',
'05/10/2015',
'02/10/2015',
'01/10/2015',
'30/09/2015',
'29/09/2015',
'28/09/2015',
'25/09/2015',
'24/09/2015',
],
data:[
{
'Divisa':'USD',
'05/10/2015':'11236',
'02/10/2015':'1116',
'01/10/2015':'11153',
'30/09/2015':'11203',
'29/09/2015':'11204',
'28/09/2015':'1117',
'25/09/2015':'11151',
'24/09/2015':'11241'
}
]
}
{
columns:[
'Divisa',
'05/10/2015',
'02/10/2015',
'01/10/2015',
'30/09/2015',
'29/09/2015',
'28/09/2015',
'25/09/2015',
'24/09/2015',
],
data:[
{
'Divisa':'USD',
'05/10/2015':'11236',
'02/10/2015':'1116',
'01/10/2015':'11153',
'30/09/2015':'11203',
'29/09/2015':'11204',
'28/09/2015':'1117',
'25/09/2015':'11151',
'24/09/2015':'11241'
},
{
'Divisa':'CYP',
'05/10/2015':'0',
'02/10/2015':'0',
'01/10/2015':'0',
'30/09/2015':'0',
'29/09/2015':'0',
'28/09/2015':'0',
'25/09/2015':'0',
'24/09/2015':'0'
}
]
}
我想知道查找的结构是什么,我需要使用它来获得类似的结果
最后,我需要知道一个查找如何返回与某个值相关的所有信息,例如,我想搜索值为0的所有信息,在12000之间,我需要返回类似于:
columns:[
'Divisa',
'05/10/2015',
'02/10/2015',
'01/10/2015',
'30/09/2015',
'29/09/2015',
'28/09/2015',
'25/09/2015',
'24/09/2015',
],
data:[
{
'Divisa':'USD',
'05/10/2015':'11236',
'02/10/2015':'1116',
'01/10/2015':'11153',
'30/09/2015':'11203',
'29/09/2015':'11204',
'28/09/2015':'1117',
'25/09/2015':'11151',
'24/09/2015':'11241'
}
]
}
{
columns:[
'Divisa',
'05/10/2015',
'02/10/2015',
'01/10/2015',
'30/09/2015',
'29/09/2015',
'28/09/2015',
'25/09/2015',
'24/09/2015',
],
data:[
{
'Divisa':'USD',
'05/10/2015':'11236',
'02/10/2015':'1116',
'01/10/2015':'11153',
'30/09/2015':'11203',
'29/09/2015':'11204',
'28/09/2015':'1117',
'25/09/2015':'11151',
'24/09/2015':'11241'
},
{
'Divisa':'CYP',
'05/10/2015':'0',
'02/10/2015':'0',
'01/10/2015':'0',
'30/09/2015':'0',
'29/09/2015':'0',
'28/09/2015':'0',
'25/09/2015':'0',
'24/09/2015':'0'
}
]
}
我想知道查找的结构是什么,我需要使用它来获得类似的结果。您这样做完全错误,不应该像您在这里所做的那样使用“数据”作为键名。MongoDB无法查询“键”,当然也无法以任何有效的方式为该结构生成所需的结果。你真正需要实现什么?这里需要的似乎是为您的真正目的而进行的重组。这似乎是exchange数据。你能不能简单地将数据存储为{'seriesdate':'24/09/2015','exchange_rate':'11241','currency':'USD'},每种货币每天输入一个条目?您可能还希望存储源货币。mongodb中的数据应始终存储为键值,因此使用find查询将非常简单,您将获得所有结果。此外,聚合是在单个查询中获得所有结果的最佳方法。