2012-08-19 75 views

回答

8

下面是從mongodb.org的解釋:

$所有

的$所有操作類似於在$,但不是陣列中的所有值指定數組中匹配的任何值必須匹配。例如,對象

{一:[1,2,3]}

將由

db.things.find(匹配{A:{$所有:[2,3] }});

但不

db.things.find({一個:{$所有:[2,3,4]}});

一個數組可以具有比$ all標準指定的元素更多的元素。 $ all指定了一組必須匹配的元素。

瞭解更多關於MongoDB的運營商here

5

$所有操作員獲取所有包含我們傳遞值的子集的文件。子集可能以任何順序。

$ in操作符檢索所有包含我們傳遞的值的文檔。

例如,請考慮以下文件集 「技巧」,

{ "Name" : "Balaji", "skills" : [ "Dancing", "Cooking", "Singing" ] } 
{ "Name" : "Ramesh", "skills" : [ "Cooking", "Singing" ] } 
{ "Name" : "Suresh", "skills" : [ "Dancing", "Singing" ] } 

db.skills.find({技能:{$所有: 「烹飪」, 「唱歌」]}})將只返回包含舞蹈和歌唱技巧的文件,即Balaji和Ramesh。由於所有文檔都包含烹飪或歌唱,因此``將返回所有文檔。

+0

解釋得非常好 – Jason 2018-01-10 11:10:04

相關問題