11
我有困難的時候,做一些如:Mongoid:如何查詢值爲零的所有對象?
Something.where(:field => nil)
或
Something.where(:field => { '$eq' => nil })
是什麼在Mongoid來處理這個正確的方式?
我有困難的時候,做一些如:Mongoid:如何查詢值爲零的所有對象?
Something.where(:field => nil)
或
Something.where(:field => { '$eq' => nil })
是什麼在Mongoid來處理這個正確的方式?
這是正確的做法。爲了找車,其發動機爲nil
,例如,使用:
# Cars that have a _nil_ engine.
Car.where(:engine => nil)
如果你想尋找一個字段的沒有(而不是一個被設置爲nil
),使用$exists
謂詞:
# Cars that lack an engine entirely.
Car.where(:engine.exists => false)
注意設置字段foo
是nil
,缺乏一個名爲foo
場是兩回事。
另請注意,如果:engine是「[a,b,c,nil]」形式的數組,則where子句「:engine => nil」將與這些行匹配。 –
對於我來說,無論':engine'是否存在或是否爲'nil',條件'where(engine:nil)'匹配。 – akostadinov