- Tham khảo> >
- Toán tử> >
- Truy vấn và toán tử trình chiếu> >
- Các toán tử truy vấn so sánh> >
- $nin
________ 3¶
Cú pháp: { field: { $nin: [ , ... ]} }
$nin
chọn các tài liệu trong đó:
- giá trị
field
không nằm trongarray
được chỉ định hoặcor field
không tồn tại.
Để so sánh các giá trị loại BSON khác nhau, hãy xem thứ tự so sánh BSON được chỉ định.specified BSON comparison order.
Xem xét các truy vấn sau:
db.inventory.find[ { qty: { $nin: [ 5, 15 ] } } ]
Truy vấn này sẽ chọn tất cả các tài liệu trong bộ sưu tập inventory
trong đó giá trị trường
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]0 không bằng
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]1 cũng như
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]2. Các tài liệu được chọn sẽ bao gồm những tài liệu không chứa trường
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]0.not equal
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]1 nor
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]2. The selected documents will include those documents that do not contain the
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]0 field.
Nếu field
giữ một mảng, thì toán tử $nin
chọn các tài liệu có field
giữ một mảng không có phần tử nào bằng giá trị trong mảng được chỉ định [ví dụ:
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]7,
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]8, v.v.].no element equal to a value in the specified array [e.g.
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]7,
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]8, etc.].
Xem xét các truy vấn sau:
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]
Truy vấn này sẽ chọn tất cả các tài liệu trong bộ sưu tập inventory
trong đó giá trị trường
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]0 không bằng
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]1 cũng như
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]2. Các tài liệu được chọn sẽ bao gồm những tài liệu không chứa trường
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]0.no elements matching an element in the array
{field: {$nin: [value1, value2, value3, ...]}}3 or where a document does not contain the
{field: {$nin: [value1, value2, value3, ...]}}2 field.
Nếu field
giữ một mảng, thì toán tử $nin
chọn các tài liệu có field
giữ một mảng không có phần tử nào bằng giá trị trong mảng được chỉ định [ví dụ:
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]7,
db.inventory.update[ { tags: { $nin: [ "appliances", "school" ] } }, { $set: { sale: false } } ]8, v.v.].Query Selectivity.
MongoDB cung cấp các loại toán tử truy vấn so sánh khác nhau và toán tử $ Nin [không phải trong] là một trong số đó. Toán tử này được sử dụng để chọn các tài liệu trong đó giá trị của trường không bằng bất kỳ giá trị nào trong mảng và trường không tồn tại. Nếu trường chứa một mảng, thì toán tử này chỉ chọn các tài liệu đó có trường có trường Chứa một mảng không chứa mục nào khớp với giá trị của mảng được chỉ định. Bạn có thể sử dụng toán tử này trong các phương thức như
{field: {$nin: [value1, value2, value3, ...]}}8,
{field: {$nin: [value1, value2, value3, ...]}}9, v.v. theo yêu cầu của bạn.$nin [not in] operator is one of them. This operator is used to select those documents where the value of the field is not equal to any of the given value in the array and the field that does not exist.
If the field contain an array, then this operator selects only those documents whose field contains an array that holds no item that matches a value of the specified array. You can use this operator in methods like
{field: {$nin: [value1, value2, value3, ...]}}8,
{field: {$nin: [value1, value2, value3, ...]}}9, etc. according to your requirements.
Syntax:
{field: {$nin: [value1, value2, value3, ...]}}
Trong các ví dụ sau, chúng tôi đang làm việc với:
Cơ sở dữ liệu: GeekSforGeeksCollection: Gợi ý: Ba tài liệu có chứa chi tiết của những người đóng góp dưới dạng các cặp giá trị trường. GeeksforGeeks
Collection: contributor
Document: three documents that contain the details of the contributors in the form of field-value pairs.
Kết hợp các giá trị bằng toán tử $nin
:
Trong ví dụ này, chúng tôi chỉ truy xuất những tài liệu của nhân viên có tên không phải là Amit hay Suman.
$nin
1$nin
2$nin
3$nin
4$nin
5
Kết hợp các giá trị trong một mảng bằng toán tử $nin
:
Trong ví dụ này, chúng tôi chỉ truy xuất những tài liệu của nhân viên không làm việc với C#, Python hoặc cả hai ngôn ngữ.
$nin
7$nin
8$nin
3{ field: { $nin: [ , ... ]} }
0$nin
5
Kết hợp các giá trị trong các tài liệu nhúng/lồng nhau bằng toán tử $nin
:
Trong ví dụ này, chúng tôi chỉ truy xuất những tài liệu của nhân viên có tuổi không phải là 25 hoặc 22.
{ field: { $nin: [ , ... ]} }
3{ field: { $nin: [ , ... ]} }
4{ field: { $nin: [ , ... ]} }
5{ field: { $nin: [ , ... ]} }
6$nin
3{ field: { $nin: [ , ... ]} }
8$nin
5
Cập nhật dữ liệu bằng toán tử $nin
:
Trong ví dụ này, chúng tôi đang thêm một cặp giá trị trường mới [tức là tiền lương: 10000] vào tài liệu của những nhân viên đó có tên không phải là Amit hoặc Priya bằng cách sử dụng phương thức Update [] với các toán tử $nin
1 và $nin
2.
$nin
3$nin
2$nin
3$nin
6$nin
7
$nin
8$nin
9field
0field
1field
2field
3
Lưu ý: Phương thức {field: {$nin: [value1, value2, value3, ...]}}
9 theo mặc định cập nhật chỉ một tài liệu cùng một lúc. Nếu bạn muốn cập nhật nhiều tài liệu, thì hãy đặt giá trị của tham số Multi thành True. Vì vậy, trong ví dụ này, phương thức {field: {$nin: [value1, value2, value3, ...]}}
9 đã cập nhật tài liệu đầu tiên phù hợp với điều kiện đã cho như trong hình ảnh dưới đây. The
{field: {$nin: [value1, value2, value3, ...]}}9 method by default update only one document at a time. If you want to update multiple documents, then set the value of its multi parameter to true. So, in this example, the
{field: {$nin: [value1, value2, value3, ...]}}9 method updated the first document that matches the given condition as shown in the below image.