2013-03-03 122 views
0

說我有一個mongoid文檔,其中有一個字段:pairs與散列的類型。當我不想在這樣的哈希上查詢時:Mongoid where子句紅寶石散列

Doc.where(:pairs=>{"field1"=>1}) 

我得到的結果回來,因爲我有成對的字段值爲1。我也有超過1的值。當我這樣做,nil返回:

Doc.where(:pairs=>{"field1"=>{"$gt"=>0}}) 

這似乎並沒有工作,我確實有關鍵field1對和值大於0。任何人都可以提供我爲什麼這不起作用的信息?

回答

0

試試吧:Dco.where(:pairs.gt => 0)
欲瞭解更多詳情mongoid querying請參閱以下鏈接。
http://mongoid.org/en/mongoid/docs/querying.html

+0

@ganesh使用該查詢,您不指定哪個散列鍵應具有大於0的值,但散列中的所有鍵:對,以便可能會返回比預期更多的文檔。由於另一個帶有hash:pairs的文檔可以有一個鍵值爲2的字段2和一個值爲2的字段1,你提供的查詢也會返回這個文檔,而在我的問題中它不應該。 – Tinuz77 2013-03-06 11:20:22