在尝试设置使用 MongoDB 上的地理空间索引时,我遇到了错误消息,指出位置数组的格式不正确。
这是我的收藏“测试”。
{
"_id" : ObjectId("4f037ac176d6fdab5b00000a"),
"CorporateId" : "XYZ12345",
"Places" : [
{
"Location" : {
"Longitude" : "50.0",
"Latitude" : "50.0"
},
"ValidFrom" : "2011-11-01 00:00:00",
"ValidTo" : "2021-12-31 00:00:00",
"itemCount" : "1"
}
]
}
一旦我运行这段代码。
db.test.ensureIndex({"Places.Location": "2d"});
我收到此错误消息
需要位置对象,位置数组的格式不正确
我的假设是长/纬度需要是一个数字。
目前它是一个对象。
typeof db.test.Places.Location.Longitude -> Object
typeof db.test.Places.Location -> Object
我的问题是,由于我对 MongoDB 还很陌生,所以我真的不知道如何以最好的方式解决这个问题。
当您传入字符串时,Mongodb 期望坐标为数字。
"Location" : {
"Longitude" : 50.0, // <<<<<<<<<<<<<< use numbers instead
"Latitude" : 50.0
},
see http://www.mongodb.org/display/DOCS/Geospatial+Indexing http://www.mongodb.org/display/DOCS/Geospatial+Indexing了解详情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)