Ruby 如何将 Json 字符串直接存入 mongodb?

tangjilong · 2012年05月22日 · 最后由 tangjilong 回复于 2012年05月22日 · 7110 次阅读

想要把 Json 字符串直接存入 mongodb,但是报如下错误: /home/tim-tang/.rvm/gems/[email protected]/gems/mongo-1.6.2/lib/mongo/collection.rb:308:insave': undefined method has_key?' for #<String:0x96ffc80> (NoMethodError)

具体代码如下: `#encoding:utf-8 require "crack" require "json" require "mongo"

myXML = Crack::XML.parse(File.read("/home/tim-tang/OFBProductCategory1.xml")) myJSON = myXML.to_json puts myJSON

connection = Mongo::Connection.new("localhost", 27017) db = connection.db("tim-db") coll = db.collection("products") coll.save(myJSON)`

好像是无法产生_id,知道的请指点下,谢谢!

myJSON 是一个字符串。应该 to_hash。

把 myJSON 转换成 hash 可以直接 save

原来用 JSON.parse(myJSON) 就可以了转成 hash 了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号