我只是好奇猫鼬查询中 .in() 和 .all() 方法有什么区别?
你能用一个简单的例子来解释一下吗?
$all
运算符检索包含我们传递的值的子集的所有文档。该子集可以是任何顺序。
$in
运算符检索包含我们传递的任一值的所有文档。
例如,考虑包含以下文档的“技能”集合:
{ "Name" : "Balaji", "skills" : [ "Dancing", "Cooking", "Singing" ] }
{ "Name" : "Ramesh", "skills" : [ "Cooking", "Singing" ] }
{ "Name" : "Suresh", "skills" : [ "Dancing", "Singing" ] }
db.skills.find({skills: { $all : ["Cooking", "Singing" ] } } )
将仅返回包含烹饪和歌唱技巧的文档,即 Balaji 和 Ramesh。
db.skills.find({skills: { $in : ["Cooking", "Singing" ] } } )
将返回所有文档,因为所有文档都包含烹饪或唱歌。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)