我有一份像这样的Mongo文件
{
"_id" : ObjectId("58a18bdd7313101c38baa06d"),
"date" : "2017-02-12",
"previsions" : {
"1000" : {
"tmin" : "3",
"tmax" : "13"
},
"1090" : {
"tmin" : "3",
"tmax" : "13"
},
"1100" : {
"tmin" : "-1",
"tmax" : "5"
},
"1110" : {
"tmin" : "3",
"tmax" : "12"
},
"1120" : {
"tmin" : "3",
"tmax" : "14"
}
},
"created_at" : ISODate("2017-02-13T10:35:09.804Z")
}
不幸的是,由于密钥是数字,所以mongo驱动程序不允许我访问其中一个值的tmin/tmax:
db.Temperatures.findOne().previsions.1000
返回错误:
2017-02-13T11:38:49.371+0100 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:36
有办法绕过这个问题吗?
谢谢。
最佳答案
如果要访问使用数字字符的对象中的键,只需将其作为字符串传递即可—对象始终将其键存储为字符串。
db.Temperatures.findOne().previsions['1000']
会给你这个输出-
{
"tmin": "3",
"tmax": "13"
}