好吧,這可能是一個愚蠢的問題,但我一直在閱讀和嘗試不同的查詢,出於某種原因,我不能沒有拋出一個錯誤得到這個工作。這是我第一次使用MongoDB,它是在一個RoR項目中。我們設立了慈善機構來建立一個嘰嘰喳喳的處理領域,但最初並沒有放入模型。所以我們用慈善機構填充數據庫,但現在他們都沒有Twitter處理字段。我將它添加到模型中,現在創建的所有其他模型都會擁有它。
我的問題是,當我嘗試在我的數據庫我不斷收到在$指向設置錯誤已經更新了慈善機構:
namespace :add_tw_handles_fields_2013_6_13 do
desc "add_tw_handle"
task :add_tw_handle => :environment do |t, args|
# db.charity.update({ featured: false }, { $set: { tw_handle : "test"}}, false, true)
# got your 6
Charity.update({ },
{
$set: { "tw_handle": "test"}
},
{ multi: true }
})
end
end
我嘗試了2 synax上述要求,我在這2個文檔閱讀http://docs.mongodb.org/manual/reference/method/db.collection.update/http://docs.mongodb.org/manual/core/update/#Updating-The%24positionaloperator。
我總是得到這個錯誤壽:
add_tw_handles_fields_2013_6_13.rake:16: syntax error, unexpected ':', expecting tASSOC
$set: {
至於我可以告訴大家,是正確的語法。我在腳本中運行這個,所以我不認爲我需要db。在我的模型名稱之前(如未註釋的更新中所示)正確?我對此很陌生,但我從字面上複製並粘貼了示例並填寫了我的信息,但沒有任何內容。然後我嘗試添加一個查詢,但是直到達到$ set時纔會出現錯誤:我不知道爲什麼。這正如上面鏈接的Mongo文檔所示。
任何深入瞭解我的問題將不勝感激。
感謝,
艾倫