簡體   English   中英

在Mongoid中查詢哈希

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM