2013-10-21 169 views
0

所以我才問我想說我知道蒙戈不允許時期即點(。)的字段名的問題。MongoDB的更新查詢,其中字段名稱爲點(段),它

令人驚奇的是,PHP是能夠插入數據與週期在它作爲一個多維陣列的字段名MONGO。我使用PHP版本5.4 Mongo驅動程序1.4。

所以陣列結構是somewaht這樣的:

Array(
["field1"] => "value", 
["field2"] => "123", 
["field3"] => array(["abc.def"] => array(["test"] => "value") 
); 

我想實現的是從字符串到整數改變域2的值。

它的巨大數據和應用程序依賴於它,我需要更新從字符串到整數或從整數到字符串的類型,我可以控制將來插入什麼應用程序,但已輸入的內容不能更改,請給我一些解決方法相同。

在寄予厚望,有人會在這條裂縫的想法.. !! ;)

+0

什麼是數據結構看起來像MongoDB的?你是否想要做某種數據修復?目前還不清楚你想要完成什麼或者你已經嘗試過什麼。 – WiredPrairie

+0

那麼數據結構如上圖所示,您可以將上述PHP數組看作與JSON插入mongodb中相同的結構。不知何故,我找到了解決方法。 ;) –

+0

它看起來像你解決了你的問題。我在問什麼數據看起來像在MongoDB中 - 就像通過控制檯。 – WiredPrairie

回答

1

,我能找到最好的解決方法是使用db.collection.update();儘管我不得不通過一個很長的excel程序,並在每一行做出類似的查詢,之後我意識到我可以使用db.collection.find()。forEach();

因此,爲了削減該溶液使用foreach來並執行db.collection.update()與條件相匹配的數據和字段進行更新。我將查詢格式化爲一個字符串,然後使用eval();

如果您發現了一個較短的方式請不要讓我再知道.. !!