我有一些看起来像这样的代码(都在mongodb解释器中):
var needed_skills = ['mongodb','javascript','c++','php']
db.applicants.save( { name:'joe', skills:['c++','ruby','css'] } );
db.applicants.save( { name:'peter', skills:['mongodb','javascript','c++','php','html'] } );
如何查找具有所有必需技能的申请人?基本上我正在寻找具有给定数组中所有数组成员的文档。我知道你可以做这样的事情来找到你是否希望它找到一个成员:
db.applicants.find({skills:'mongodb'})
然而,这只匹配一个,我希望匹配所有...
非常感谢任何帮助。
答案 0 :(得分:4)
您想使用$all
:
db.applicants.find({skills: {$all: ['mongodb','javascript','c++','php','html']} });
或
var needed_skills = ['mongodb','javascript','c++','php']
db.applicants.find({skills: {$all: needed_skills} });