2014-08-29 61 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