当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MongoDB $in用法及代码示例


MongoDB 提供了不同类型的比较查询运算符,$in 运算符就是其中之一。此运算符用于选择字段值等于数组中任何给定值的文档。如果该字段包含一个数组,则此运算符仅选择那些字段包含一个数组的文档,该数组包含至少一个与指定数组的值匹配的项目。您可以根据需要在 find()、update() 等方法中使用此运算符。

用法:

{field:{$in:[value1, value2, value3, ...]}}

在以下示例中,我们正在使用:

Database: GeeksforGeeks
Collection: contributor
Document: three documents that contain the details of the contributors in the form of field-value pairs.



使用匹配值$in操作员:

在此示例中,我们仅检索名称为 Amit 或 Suman 的员工文档。


db.contributor.find({name:{$in:["Amit", "Suman"]}}).pretty()

使用匹配数组中的值$in操作员:

在此示例中,我们仅检索使用 C#、Python 或这两种语言的员工的文档。


db.contributor.find({language:{$in:["C#", "Python"]}}).pretty()

使用匹配嵌入/嵌套文档中的值$in操作员:

在此示例中,我们仅检索那些在学期中获得给定分数的员工文档。


db.contributor.find({"personal.semesterMarks":{$in:[80, 89, 78]}}).pretty()

使用更新数据$in操作员:

在这个例子中,我们通过使用带有 $in 和 $set 运算符的 update() 方法在 Amit 和 Suman 的文档中添加一个新的 field-value 对(即,salary:10000)。


db.contributor.update({name:{$in:["Amit", "Suman"]}}, {$set:{salary:10000}})

注意:这个update()方法默认一次只更新一个文档。如果要更新多个文档,则将其 multi 参数的值设置为 true。因此,在此示例中,update() 方法更新了与给定条件匹配的第一个文档,如下图所示。




相关用法


注:本文由纯净天空筛选整理自ankita_saini大神的英文原创作品 MongoDB $in Operator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。