2013-07-02 28 views
1

在包含mongoid對象ID的Hash或Array上使用to_json時,ID不會在JSON中轉義。我必須把它作爲一個字符串。 因此,每次我串行哈希或包含ObjectIDs的數組時,生成的JSON格式不正確。MongoDB ObjectID不會在to_json生成的JSON中轉義

我使用Mongoid 4主使用Rails 4

[26] pry(main)> [Moped::BSON::ObjectId.new].to_json 
=> "[51d2f368d0068664e0000002]" 

[27] pry(main)> [Moped::BSON::ObjectId.new.to_s].to_json 
=> "[\"51d2f425d0068664e0000003\"]" 

回答

2

這似乎對主分支

[Moped::BSON::ObjectId.new].to_json 
=> "[{\"$oid\":\"51d2ff0322cf02e1a5000001\"}]" 

的ObjectId MongoDB中要解決的問題是不是String多。因此,無論如何,將它轉換爲字符串可能是明智的。

相關問題