Rate this post

MongoDB cung cấp nhiều toán tử truy vấn logic. Toán tử $ nor là một trong những toán tử đó. Toán tử $ nor được sử dụng để thực hiện các “phép toán NOR” logic trên một mảng của một hoặc nhiều biểu thức. Nói cách khác, $ nor là toán tử truy vấn lôgic cho phép người dùng thực hiện phép toán NOR lôgic trên một mảng của một hoặc nhiều biểu thức truy vấn. Toán tử này cũng được sử dụng để chọn hoặc truy xuất các tài liệu không khớp với tất cả các biểu thức đã cho trong mảng. Người dùng có thể sử dụng toán tử này trong các phương thức như find (), update (), v.v., tùy theo yêu cầu của họ.

Các bài viết liên quan:

Cú pháp:

{$ nor: [{Expression1}, {Expression2}, ... {ExpressionN}]}

Ví dụ:

Trong các ví dụ sau, chúng tôi đang làm việc với:

  • Cơ sở dữ liệu: testDB
  • Collection: sinh viên
>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",
                     }           
}

Ví dụ 1: So khớp các giá trị bằng cách sử dụng toán tử $ nor

Trong ví dụ này, chúng tôi chỉ truy xuất dữ liệu của những sinh viên có khóa học không phải là btech.

>db.student.find({$nor: [{Course: "btech"}]}).pretty()  

Ví dụ 2: So khớp hai giá trị bằng toán tử $ nor

Trong ví dụ này, chúng tôi chỉ truy xuất dữ liệu của những sinh viên có khóa học không phải là btech và có batch_year không phải là 2017.

>db.student.find({$nor: [{Course: "btech"}, {batch_year: "2017"}]}).pretty()  

Ví dụ 3: So khớp các giá trị trong một mảng bằng cách sử dụng toán tử $ nor

Trong ví dụ này, chúng tôi chỉ lấy dữ liệu của các sinh viên không khớp với mảng đã cho.

> db.student.find({$nor: [{language: {$in: ["Java", "C#"]}}]}).pretty()  

Ví dụ 4: MongoDB Logical $ nor Operator (truy xuất dữ liệu trong các tài liệu nhúng)

Trong ví dụ này, chúng tôi chỉ lấy dữ liệu cho những sinh viên có thành phố không phải là “London” và không đủ 22 tuổi.

>db.student.find({$nor: [{"personal.age": 22}, {"personal.city": "London"}]}).pretty()  

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now