因此........我有一個Rails應用程序。 rails應用程序使用Mongoid作爲mongodb數據。當我通過網絡表單創建mongo記錄時,他們的ID爲string
。當我使用mongoimport將記錄導入到mongo中時,它們具有類型爲BSON::ObjectId
的ID。無法將BSON :: ObjectId轉換爲字符串
Rails應用程序期待蒙戈記錄ID是字符串,因此,當我輸入數據時,它會導致我的應用程序失敗,因爲當它查找它抱怨can't convert type BSON::ObjectId to string
我記錄在這裏有很多層次的困惑。 BSON :: ObjectId是mongo中ID的默認類型,所以我不明白爲什麼通過rails和Mongoid創建的記錄具有字符串ID。我沒有看到Mongoid指定的地方,_id字段應該是一個字符串。有人有任何線索嗎?
你使用的是什麼版本的mongoid? – 2012-07-05 15:45:55
所以我想通了。問題在於我的應用程序使用的Mongoid版本。版本1.9.5使用字符串作爲_id字段的默認類型,這正是我正在使用的。最終,我將不得不建立一個rake任務來導入記錄,所以我可以使用Mongoid 1.9.5來創建它們。 感謝您的幫助! – 2012-07-05 16:12:28