Làm cách nào để sử dụng Nin trong MongoDB?

MongoDB là một hệ thống quản lý cơ sở dữ liệu tiên tiến và mạnh mẽ đi kèm với các tính năng và chức năng tuyệt vời. Nó thậm chí đã trở thành mục yêu thích của các nhà phát triển hoặc lập trình viên mới bắt đầu

Nó được trang bị đầy đủ sức mạnh với một loạt các nhà khai thác cho phép các nhà phát triển tích hợp các tính năng đáng chú ý và khả năng nâng cao vào ứng dụng của họ. Người vận hành cho phép tùy chỉnh truy vấn, cập nhật, in và thay đổi dữ liệu trong cơ sở dữ liệu MongoDB. Với các tính năng tiên tiến trong dịch vụ cơ sở dữ liệu này, có rất nhiều ứng dụng thông minh hơn và hữu ích hơn đang mọc lên

Nó đã tìm thấy người hâm mộ ngay cả trong số những người mới bắt đầu cùng với các nhà phát triển cấp cao. Mặc dù danh sách các toán tử rất lớn, nhưng tôi ở đây để nói về toán tử $nin trong MongoDB còn được gọi là 'not in'

Toán tử $nin được tạo để sử dụng trên các mảng và nó cho phép chúng ta so khớp các tài liệu có giá trị trường mảng không có trong mảng đã cho. Hoặc, nó sẽ khớp với các tài liệu không tồn tại các trường đã cho

Trong hướng dẫn này, tôi sẽ hướng dẫn bạn qua toán tử $nin trong MongoDB để bạn có thể hiểu rõ hơn về cách bạn có thể sử dụng nó trong ứng dụng của mình. Vì vậy, đừng giết nhiều thời gian nữa và hãy bắt đầu

Cú pháp toán tử $nin

Dưới đây là sơ lược về cú pháp của toán tử $nin trong MongoDB

{ field: { $nin: [ value1, value2 .. valueN ]} }

Sử dụng Toán tử $nin trong MongoDB

Chúng ta hãy bắt đầu với việc sử dụng toán tử $nin trong MongoDB bằng cách xem các ví dụ khác nhau

Kết hợp các giá trị trong mảng với toán tử $nin trong MongoDB

Trong ví dụ này, tôi sẽ so khớp những tài liệu có giá trị trường mảng không phải là giá trị đã chỉ định bằng cách sử dụng toán tử $nin trong MongoDB

  • Chạy dịch vụ MongoDB
  • Chọn cơ sở dữ liệu bạn muốn làm việc và di chuyển vào đó

show dbs
use dronesWorld

  • Trước tiên chúng ta hãy xem tất cả các tài liệu của chúng tôi trong bộ sưu tập

> db.drones.find({}).pretty()

{
        "_id" : ObjectId("615f1672a7c6532312e3a41d"),
        "utility" : [
                "Delivery"
        ],
        "onSale" : false,
        "name" : "Aurelize Frinworks Hawk 7",
        "price" : 12000,
        "weight" : "34 kilograms",
        "additionalDetails" : {
                "material" : "aluminum",
                "moreUses" : [
                        "Security",
                        "Recreation"
                ]
        }
}
{
        "_id" : ObjectId("615f16eca7c6532312e3a41e"),
        "utility" : [
                "Delivery"
        ],
        "onSale" : false,
        "name" : "Poka Moonskull 2X67",
        "price" : 76400,
        "weight" : "48 kilograms",
        "additionalDetails" : {
                "material" : "nylon",
                "moreUses" : [
                        "Monitoring or Inspection",
                        "Recreation"
                ]
        }
}
{
        "_id" : ObjectId("615f17a5a7c6532312e3a41f"),
        "utility" : [
                "Monitoring or Inspection"
        ],
        "onSale" : false,
        "name" : "Jade Balestrom RW",
        "price" : 24500,
        "weight" : "27 kilograms",
        "additionalDetails" : {
                "material" : "lithium",
                "moreUses" : [
                        "Land Inspection",
                        "Water Inspection"
                ]
        }
}
{
        "_id" : ObjectId("615f1879a7c6532312e3a420"),
        "utility" : [
                "Monitoring or Inspection"
        ],
        "onSale" : false,
        "name" : "VarX Lourra VQ (Limited Edition)",
        "price" : 49500,
        "weight" : "19 kilograms",
        "additionalDetails" : {
                "material" : "glass fiber",
                "moreUses" : [
                        "Photography",
                        "Security"
                ]
        }
}
{
        "_id" : ObjectId("615f1922a7c6532312e3a421"),
        "utility" : [
                "Security"
        ],
        "onSale" : false,
        "name" : "Mellori Styxe 175",
        "price" : 15000,
        "weight" : "10 kilograms",
        "additionalDetails" : {
                "material" : "carbon fiber",
                "moreUses" : [
                        "Monitoring or Inspection",
                        "Recreation"
                ]
        }
}

  • Tiếp theo, chúng tôi sẽ tìm kiếm những tài liệu không có tiện ích là “Giao hàng” bằng cách sử dụng toán tử $nin

> db.drones.find({utility: {$nin: ["Delivery"]}}).pretty()

{
        "_id" : ObjectId("615f17a5a7c6532312e3a41f"),
        "utility" : [
                "Monitoring or Inspection"
        ],
        "onSale" : false,
        "name" : "Jade Balestrom RW",
        "price" : 24500,
        "weight" : "27 kilograms",
        "additionalDetails" : {
                "material" : "lithium",
                "moreUses" : [
                        "Land Inspection",
                        "Water Inspection"
                ]
        }
}
{
        "_id" : ObjectId("615f1879a7c6532312e3a420"),
        "utility" : [
                "Monitoring or Inspection"
        ],
        "onSale" : false,
        "name" : "VarX Lourra VQ (Limited Edition)",
        "price" : 49500,
        "weight" : "19 kilograms",
        "additionalDetails" : {
                "material" : "glass fiber",
                "moreUses" : [
                        "Photography",
                        "Security"
                ]
        }
}
{
        "_id" : ObjectId("615f1922a7c6532312e3a421"),
        "utility" : [
                "Security"
        ],
        "onSale" : false,
        "name" : "Mellori Styxe 175",
        "price" : 15000,
        "weight" : "10 kilograms",
        "additionalDetails" : {
                "material" : "carbon fiber",
                "moreUses" : [
                        "Monitoring or Inspection",
                        "Recreation"
                ]
        }
}

chúng ta đi thôi. Toán tử $nin chỉ xuất ra cho chúng ta những tài liệu không có tiện ích là “Giao hàng”, đây là một trường mảng

Khớp các giá trị không phải mảng với Toán tử $nin trong MongoDB

Trong ví dụ này, tôi sẽ so khớp những tài liệu có giá trị không phải mảng không phải là giá trị đã chỉ định bằng cách sử dụng toán tử $nin trong MongoDB

> db.drones.find({name: {$nin: ["Aurelize Frinworks Hawk 7", "Jade Balestrom RW"]}}).pretty()

{
        "_id" : ObjectId("615f16eca7c6532312e3a41e"),
        "utility" : [
                "Delivery"
        ],
        "onSale" : false,
        "name" : "Poka Moonskull 2X67",
        "price" : 76400,
        "weight" : "48 kilograms",
        "additionalDetails" : {
                "material" : "nylon",
                "moreUses" : [
                        "Monitoring or Inspection",
                        "Recreation"
                ]
        }
}
{
        "_id" : ObjectId("615f1879a7c6532312e3a420"),
        "utility" : [
                "Monitoring or Inspection"
        ],
        "onSale" : false,
        "name" : "VarX Lourra VQ (Limited Edition)",
        "price" : 49500,
        "weight" : "19 kilograms",
        "additionalDetails" : {
                "material" : "glass fiber",
                "moreUses" : [
                        "Photography",
                        "Security"
                ]
        }
}
{
        "_id" : ObjectId("615f1922a7c6532312e3a421"),
        "utility" : [
                "Security"
        ],
        "onSale" : false,
        "name" : "Mellori Styxe 175",
        "price" : 15000,
        "weight" : "10 kilograms",
        "additionalDetails" : {
                "material" : "carbon fiber",
                "moreUses" : [
                        "Monitoring or Inspection",
                        "Recreation"
                ]
        }
}

Kinh ngạc. Toán tử $nin đã dẫn đến thành công những tài liệu có trường không phải mảng không khớp với giá trị tôi đã chỉ định

Kết hợp các giá trị trong Tài liệu lồng nhau với Toán tử $nin trong MongoDB

Trong ví dụ này, tôi sẽ khớp giá trị đã cho với các tài liệu lồng nhau bằng cách sử dụng toán tử $nin

> db.drones.find({"additionalDetails.material": { $nin: ["glass fiber", "carbon fiber"]}}).pretty()

{
        "_id" : ObjectId("615f1672a7c6532312e3a41d"),
        "utility" : [
                "Delivery"
        ],
        "onSale" : false,
        "name" : "Aurelize Frinworks Hawk 7",
        "price" : 12000,
        "weight" : "34 kilograms",
        "additionalDetails" : {
                "material" : "aluminum",
                "moreUses" : [
                        "Security",
                        "Recreation"
                ]
        }
}
{
        "_id" : ObjectId("615f16eca7c6532312e3a41e"),
        "utility" : [
                "Delivery"
        ],
        "onSale" : false,
        "name" : "Poka Moonskull 2X67",
        "price" : 76400,
        "weight" : "48 kilograms",
        "additionalDetails" : {
                "material" : "nylon",
                "moreUses" : [
                        "Monitoring or Inspection",
                        "Recreation"
                ]
        }
}
{
        "_id" : ObjectId("615f17a5a7c6532312e3a41f"),
        "utility" : [
                "Monitoring or Inspection"
        ],
        "onSale" : false,
        "name" : "Jade Balestrom RW",
        "price" : 24500,
        "weight" : "27 kilograms",
        "additionalDetails" : {
                "material" : "lithium",
                "moreUses" : [
                        "Land Inspection",
                        "Water Inspection"
                ]
        }
}

Tuyệt đấy. Bây giờ chúng tôi có những tài liệu đó trước mặt chúng tôi có giá trị tài liệu lồng nhau được chỉ định không khớp với giá trị được chỉ định, nhờ toán tử $nin

Việc sử dụng $NIN trong MongoDB là gì?

$nin chọn tài liệu mà. giá trị trường không nằm trong mảng đã chỉ định hoặc . trường không tồn tại .

Làm cách nào để sử dụng regex trong MongoDB?

Nếu bạn muốn thêm một biểu thức chính quy bên trong danh sách điều kiện truy vấn được phân tách bằng dấu phẩy, thì bạn phải sử dụng toán tử $regex. If you want to use x and s options then you have to use $regex operator expression with $options. Starting from the latest version of MongoDB(i.e., 4.0.

Làm cách nào để sử dụng $set trong MongoDB?

Toán tử $set thay thế giá trị của một trường bằng giá trị đã chỉ định . Biểu thức toán tử $set có dạng như sau. { $set. {

Làm cách nào để sắp xếp dữ liệu trong MongoDB?

Đặt thứ tự sắp xếp .
Trong Thanh truy vấn, bấm Tùy chọn
Nhập tài liệu sắp xếp vào trường Sắp xếp. Để chỉ định thứ tự tăng dần cho một trường, hãy đặt trường thành 1 trong tài liệu sắp xếp. Để chỉ định thứ tự giảm dần cho một trường, hãy đặt trường và -1 trong tài liệu sắp xếp. .
Nhấp vào Tìm để chạy truy vấn và xem kết quả cập nhật