MongoDB $nor 运算符 ($nor)17 Mar 2025 | 4 分钟阅读 MongoDB 提供了各种逻辑查询运算符。 $nor 运算符是其中一个运算符。 $nor 运算符用于对一个或多个表达式的数组执行逻辑 "NOR 运算"。换句话说, $nor 是一个逻辑查询运算符,允许用户对一个或多个查询表达式的数组执行逻辑 NOR 运算。此运算符还用于选择或检索与数组中所有给定表达式都不匹配的文档。用户可以根据他们的需求在 find()、update() 等方法中使用此运算符。 语法示例在下面的示例中,我们将使用 >db.student.find() { "_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", } } { "_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", } } { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d678"), "name" : "Oliver", "Course" : "BA", "batch_year" : 2017, "language" : ["c", "PHP"], "personal_details" : { "Father_name" : "William", "phone_no" : 9997845123, "age" : 25, "gender" : "Male", "City" : "Liverpool", } } { "_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", } } 示例 1:使用 $nor 运算符匹配值在此示例中,我们仅检索课程不是 btech 的学生的资料。 输出 >db.student.find({$nor: [{Course: "btech"}]}).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", } } { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d678"), "name" : "Oliver", "Course" : "BA", "batch_year" : 2017, "language" : ["c", "PHP"], "personal_details" : { "Father_name" : "William", "phone_no" : 9997845123, "age" : 25, "gender" : "Male", "City" : "Liverpool", } } ![]() 示例 2:使用 $nor 运算符匹配两个值在此示例中,我们仅检索课程不是 btech 且入学年份不是 2017 年的学生的资料。 输出 >db.student.find({$nor: [{Course: "btech"}, {batch_year: "2017"}]}).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", } } 示例 3:使用 $nor 运算符匹配数组中的值在此示例中,我们仅检索与给定数组不匹配的学生的资料。 输出 > db.student.find({$nor: [{language: {$in: ["Java", "C#"]}}]}).pretty() { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d678"), "name" : "Oliver", "Course" : "BA", "batch_year" : 2017, "language" : ["c", "PHP"], "personal_details" : { "Father_name" : "William", "phone_no" : 9997845123, "age" : 25, "gender" : "Male", "City" : "Liverpool", } } { "_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", } } 示例 4:MongoDB 逻辑 $nor 运算符(检索嵌入文档中的数据)在此示例中,我们仅获取城市不是 "伦敦" 且年龄不是 22 岁的学生的资料。 输出 >db.student.find({$nor: [{"personal.age": 22}, {"personal.city": "London"}]}).pretty() { "_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", } } { "_id" : ObjectId("56254d4fdf2222265r4g12ds3d678"), "name" : "Oliver", "Course" : "BA", "batch_year" : 2017, "language" : ["c", "PHP"], "personal_details" : { "Father_name" : "William", "phone_no" : 9997845123, "age" : 25, "gender" : "Male", "City" : "Liverpool", } } 下一主题# |
我们请求您订阅我们的新闻通讯以获取最新更新。