2014-09-30 75 views
0

我哈瓦3個文件的集合:MongoDB的查詢數組,其中的所有元素符合標準

{"users":[{"id":1,"gender":"male"},{"id:1,"gender":"male"},{"id":1,"gender":"male"}]} 
{"users":[{"id":1,"gender":"male"},{"id:1","gender":"male"},{"id":1,"gender":"female"}]} 
{"users":[{"id":1,"gender":"female"},{"id":1,"gender":"female"},{"id":1,"gender":"female"}]} 

我想編寫一個查詢,每一個性別是男(users.gender:「男」),結果只得到:

{"users":[{"id":1,"gender":"male"},{"id:1,"gender":"male"},{"id":1,"gender":"male"}]} 

到目前爲止,我能夠得到那些至少有一個字段符合標準的文件。所以我得到:

{"users":[{"id":1,"gender":"male"},{"id:1","gender":"male"},{"id":1,"gender":"female"}]} 
{"users":[{"id":1,"gender":"female"},{"id":1,"gender":"female"},{"id":1,"gender":"female"}]} 

有沒有辦法做到這一點?

+0

請重新說明問題。這是無效的JSON,而這個例子沒有意義。 – mnemosyn 2014-09-30 10:18:55

+0

這些文件沒有正確的json.Can你可以編輯你的問題來解決這個問題嗎? – 2014-09-30 11:25:18

回答

1

假設你有你的文件只有兩個類型性別:malefemale,所有不包含female的性別類型,文件會自動的與每一個性別類型male。因此可以使用$nin[doc]

當然,這是從你的例子中大量地假設和推斷的,這根本不明確。請格式化你的問題是正確和簡潔的,以便其他人可以受益。謝謝。

0

這實際上是另一種說法是什麼阿布舍克已經帕塔克說:

您可以從可能的結果集排除female。假設您的收藏被稱爲example,您可以使用以下查詢:

db.examples.find({"users.gender" : {$nin: ["female"]}}) 
相關問題