MongoDB $in 运算符17 Mar 2025 | 4 分钟阅读 MongoDB 提供了不同类型的逻辑查询运算符,而 $in 运算符是其中之一。 $in 运算符用于选择字段值等于数组中任何给定值的文档。 您可以根据您的要求在 find()、update() 等方法中使用此运算符。 语法示例在下面的示例中,我们将使用 示例 1:使用 $in 运算符匹配值在此示例中,我们仅检索姓名是 Jonny 或 Mia 的学生的数据。 输出 >db.student.find({name: {$in: ["Jonny", "Mia"]}}).pretty() { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d655"), "name" : "Jonny", "Course" : "MCA", "batch_year" : 2019, "language" : ["C#", "java", "PHP"], "personal_details" : { "Father_name" : "Thomas", "phone_no" : 7845123698, "age" : 24, "gender" : "Male", "City" : "London", } } { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d665"), "name" : "Mia", "Course" : "btech", "batch_year" : 2020, "language" : ["HTML", "CSS", "PHP"], "personal_details" : { "Father_name" : "Leo", "phone_no" : 6312547896, "age" : 22, "gender" : "Female", "City" : "Manchester", } } 示例 2:使用 $in 运算符匹配数组中的值在此示例中,我们仅检索使用 JavaScript 或 CSS 的学生的数据。 输出 >db.student.find({language: {$in: ["JavaScript", "CSS"]}}).pretty() { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d691"), "name" : "Zoya", "Course" : "BCA", "batch_year" : 2020, "language" : ["C#", "JavaScript"], "personal_details" : { "Father_name" : "Henry", "phone_no" : 9874563698, "age" : 20, "gender" : "Female", "City" : "London", } } { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d665"), "name" : "Mia", "Course" : "btech", "batch_year" : 2020, "language" : ["HTML", "CSS", "PHP"], "personal_details" : { "Father_name" : "Leo", "phone_no" : 6312547896, "age" : 22, "gender" : "Female", "City" : "Manchester", } } 示例 3:MongoDB 逻辑 $or 运算符(检索嵌入文档中的数据)在此示例中,我们仅检索城市为“伦敦”的学生的文档。 输出 >db.student.find({"personal.City": {$in: ["London"]}}).pretty() { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d691"), "name" : "Zoya", "Course" : "BCA", "batch_year" : 2020, "language" : ["C#", "JavaScript"], "personal_details" : { "Father_name" : "Henry", "phone_no" : 9874563698, "age" : 20, "gender" : "Female", "City" : "London", } } { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d655"), "name" : "Jonny", "Course" : "MCA", "batch_year" : 2019, "language" : ["C#", "java", "PHP"], "personal_details" : { "Father_name" : "Thomas", "phone_no" : 7845123698, "age" : 24, "gender" : "Male", "City" : "London", } } 示例 4:使用 $in 运算符更新数据在此示例中,我们使用 update() 方法和 $in 和 $set 运算符向 Mick、Zoya 和 Mia 的文档添加新的字段值对(Pending_fees: 88.5)。 注意:默认情况下,update() 方法一次仅更新一个文档。 因此,在此示例中,update() 方法将仅更新与给定条件匹配的第一个文档。 如果要更新多个文档,请将其 multi 参数的值设置为 true。输出 >db.student.update({name: {$in: ["Mick", "Zoya", "Mia"]}}, {$set: {Pending_fees: 12000}}) { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d65f"), "name" : "Mick", "Course" : "btech", "batch_year" : 2018, "language" : ["c++", "java", "python"], "personal_details" : { "Father_name" : "Jonny", "phone_no" : 8895321456, "age" : 23, "gender" : "Male", "City" : "NewYork", } "Pending_fees" : 12000 } |
我们请求您订阅我们的新闻通讯以获取最新更新。