Ruby 仅从MongoMapper将键值返回到_json结果
很抱歉问了个新手问题,但对Ruby和Mongo来说还是很陌生的。 不是100%确定我遗漏了什么,但是我如何才能得到价值呢 从以下json结果中的“url”开始Ruby 仅从MongoMapper将键值返回到_json结果,ruby,mongodb,mongomapper,Ruby,Mongodb,Mongomapper,很抱歉问了个新手问题,但对Ruby和Mongo来说还是很陌生的。 不是100%确定我遗漏了什么,但是我如何才能得到价值呢 从以下json结果中的“url”开始 [{"url":"www.google.com"}] 所以我想要的东西就像我做了一个 puts url_var 它应该只显示www.google.com 从Mongo获取URl的MongoMapper代码 redirect_url = Surl.all(:url_key => "#{urlkey}") myjson = re
[{"url":"www.google.com"}]
所以我想要的东西就像我做了一个
puts url_var
它应该只显示www.google.com
从Mongo获取URl的MongoMapper代码
redirect_url = Surl.all(:url_key => "#{urlkey}")
myjson = redirect_url.to_json(:only => [:url])
puts redirect_url
给我
[{"url":"www.google.com"}]
如果我做了类似的事情
redirect_url.each do |key,value|
puts key
puts value
end
键仍然是完整的json字符串,值为空
当然,我这里肯定遗漏了一些非常基本的东西好吧,我假设
Surl
是您的一个模型,它至少有这些字段url\u key
和url
,所以要访问url,您不必将结果转换为json然后提取到key,但您可以直接访问它
Surl.all
返回一个数组(检查mongo mapper文档),如果需要单个结果,请使用Surl.find\u by\u url\u key(urlkey)
。现在,您可以使用put redirect\u url.url
redirect_url = Surl.find_by_url_key(urlkey)
puts redirect_url.url # => "www.google.com"
请务必阅读和,以了解结果和差异。这是我得到的错误:NoMethodError at/430f未定义的方法'url'for nil:nilclass没有真正理解Surl.find_by_url_键。“按url查找”键从何而来?啊,好吧,我看到“按url查找”键是一个动态查询。谢谢,我更改了您的重定向。按url查找键(:url\u key=>urlkey)重定向为重定向。按url查找键(urlkey)工作得很好:)