2014-08-29 115 views
1

我插入:MongoDB的转换的阵列到字典

{ 
... 

"loc":[-124.9973,49.68829] 

... 
} 

并且因为它是存储:

"loc": { 
      "0": -124.9973, 
      "1": 49.68829 
      } 

这从蒙戈命令行或通过PHP或通过RockMongo形式发生。

这是预期的行为?

+1

是的,它按预期工作 – Seismoid 2014-08-29 23:07:25

+0

我不希望mongodb本身这样做。我首先会看看RockMongo表单,看看他们如何将输入字段映射到Mongo文档中。它看起来像你缺少一些键或东西。 – 2014-08-29 23:49:28

回答

0

当我从蒙戈外壳执行插入我不明白这种行为

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/)。

+0

有趣。你是对的。它正确地存储它。 RockMongo没有正确显示查询结果。谢谢。 – 2014-08-30 00:16:39