是否有一種有效的方法來查找至少有一個嵌入對象缺少給定字段的Mongo集合的所有文檔?查找包含至少一個嵌入對象的文檔缺少給定字段
我想:
Response.where('answers.question_id' => nil)
然而,這僅返回響應針對每一個答案,缺少question_id,而不是包含至少一個答案缺少question_id響應。
我可以通過Responses測試每個循環,但是這對於我正在使用的數據庫的大小來說非常慢,所以我很想找到一種方法來構建查詢以縮小響應列表。
編輯:
Response.where(:'answers.question_id'.exists => false)
仍然不能解決我的問題 - 它仍然只用於找出所有嵌入式答案缺少question_id迴應,爲此,任何嵌入式答案缺少question_id不響應。
有一個[FAQ條目(http://docs.mongodb.org/manual/faq/developers/#how-do-i-query-for-fields-that-have-null-values) 。 – jimoleary
@jimoleary - 謝謝,但這是爲了找到帶有空字段的文檔,而不是包含至少一個包含空字段的嵌入對象的文檔 –
對不起,我的初始響應是一個簡短的說明!請查看常見問題解答條目結尾處的$ exists操作符的說明。它描述瞭如何找到丟失的字段。 – jimoleary