2013-08-20 30 views
2

給出下面的結構條目MongoDB中:搜索MongoDB的陣列,而不尊重秩序

{ 
_id: blahblah, 
string_list: ['hello','large','world'] 
} 

有沒有進行類似的搜索方式:

db.test.find({string_list:['large','world','hello']}) 

,將返回的任何文件'hello','large''world'string_list字段(但沒有其他字符串,只是這三個)以任何順序?

我知道有是{$all:...}「運營商」,將做同樣的事情,但據我知道,如果我用:

db.collection.find({string_list: {$all:['large','world','hello']}}) 

也將返回以下條目:

{ 
_id: blahblah, 
string_list: ['hello','large','world','two'] 
} 
我不想要的

回答

0

使用$all連同$size運營商,即:

db.collection.find({"string_list" : {$all:["large","world","hello"]}, "string_list": {$size: 3}}); 
+0

完美解決方案。謝謝。 –

+0

@CharlesSpinosa歡迎來到StackOverflow!如果此答案解決了您的問題,請點擊投票箭頭旁邊的複選框接受此問題。 –

+0

@ChrisHeald哎呀!感謝您的高舉。公認 –