[英]Querying a hash in Mongoid
我創建了一個產品文檔,如下所示:
#<Product _id: 539ac4285468691170000000, created_at: 2014-06-13 09:28:08 UTC, updated_at: 2014-06-13 10:28:57 UTC, properties: {"first"=>{"element_1"=>"test", "element_2"=>"bigtest"}, "second"=>"layer_one"}>
現在,我已經閱讀了很多有關使用where()
查詢的內容。 但是我還沒有找到任何信息,是否有可能,如果可以,如何提取哈希的各個元素。
我如何查詢這樣的事情:
ruby 2.0.0p451 > w = Product.last
ruby 2.0.0p451 > w.properties.first
ruby 2.0.0p451 > w.properties.first.element_2
ruby 2.0.0p451 > w.properties.first.push("element_3"=>"grandetest")
您能否指向參考文獻,在那里我可以看到更多的Mongoid查詢示例,尤其是那些提取哈希的各個組成部分的示例。 非常感謝。
這是您需要訪問哈希值的方式:
> w.properties['first']
=> {"element_1"=>"test", "element_2"=>"bigtest"}
> w.properties['first']['element_2']
=> "bigtest"
> w.properties['first']['element_3'] = "grandetest"
=> {"element_1"=>"test", "element_2"=>"bigtest", "element_3"=>"grandetest"}
您可以使用“ where”按“ element_2”值搜索產品,例如:
> Product.where("properties.first.element_2" => "bigtest").count
=> 1
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.