我插入:
{
...
"loc":[-124.9973,49.68829]
...
}
,它存储为:
"loc": {
"0": -124.9973,
"1": 49.68829
}
这可以从mongo命令行或通过PHP或通过RockMongo表单发生。
这是预期的行为吗?
答案 0 :(得分:0)
当我从mongo shell进行插入时,我不会得到那种行为
dmReplSet:PRIMARY> db.aug29.insert( { "loc" : [ -124.9973, 49.68829 ] } );
WriteResult({ "nInserted" : 1 })
dmReplSet:PRIMARY> db.aug29.find();
{ "_id" : ObjectId("54010c47de66cda372635186"), "loc" : [ -124.9973, 49.68829 ] }
dmReplSet:PRIMARY> db.aug29.find().pretty()
{
"_id" : ObjectId("54010c47de66cda372635186"),
"loc" : [
-124.9973,
49.68829
]
}
dmReplSet:PRIMARY>
你到底在做什么?是通过一些OR映射吗?
另一方面,如果你想在MongoDB中做geospacial东西,你可能应该阅读它并注意它已经发展并且特定于MongoDB版本(http://blog.mongolab.com/2014/08/a-primer-on-geospatial-data-and-mongodb/和http://myadventuresincoding.wordpress.com/2011/10/02/mongodb-geospatial-queries/)