Hướng dẫn unset mongodb - bỏ mongodb

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Ghi chú

Định hướng

Trang sau đề cập đến toán tử cập nhật $unset. Đối với giai đoạn tổng hợp $unset, có sẵn trong MongoDB 4.2, xem $unset$unset. For the aggregation stage $unset, available starting in MongoDB 4.2, see $unset

$unset Nhà điều hành $unset xóa một trường cụ thể. Xem xét cú pháp sau:
Hướng dẫn unset mongodb - bỏ mongodb

The $unset operator deletes a particular field. Consider the following syntax:

{ $unset: { <field1>: "", ... } }

Giá trị được chỉ định trong biểu thức $unset (nghĩa là

db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )
2) không ảnh hưởng đến hoạt động.$unset expression (i.e.
db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )
2) does not impact the operation.

Để chỉ định

db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )
3 trong tài liệu nhúng hoặc trong một mảng, hãy sử dụng ký hiệu DOT.

Bắt đầu từ MongoDB 5.0, cập nhật các nhà khai thác xử lý các trường tài liệu với tên dựa trên chuỗi theo thứ tự từ vựng. Các trường có tên số được xử lý theo thứ tự số. Xem Cập nhật hành vi của các nhà khai thác để biết chi tiết.

Nếu trường không tồn tại, thì $unset không làm gì (tức là không hoạt động).$unset does nothing (i.e. no operation).

Khi được sử dụng với

db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )
5 để khớp với phần tử mảng, $unset thay thế phần tử khớp với
db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )
7 thay vì loại bỏ phần tử khớp khỏi mảng. Hành vi này giữ ổn định kích thước mảng và vị trí phần tử.$unset replaces the matching element with
db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )
7 rather than removing the matching element from the array. This behavior keeps consistent the array size and element positions.

Bắt đầu từ MongoDB 5.0,

db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )
8 không còn gây ra lỗi khi bạn sử dụng toán tử cập nhật như $unset với biểu thức toán hạng trống (
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
0). Một bản cập nhật trống dẫn đến không có thay đổi và không có mục nhập oplog được tạo (có nghĩa là hoạt động là không có op).$unset with an empty operand expression (
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
0 ). An empty update results in no changes and no oplog entry is created (meaning that the operation is a no-op).

Tạo bộ sưu tập

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
1:

db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )

Cập nhật tài liệu đầu tiên trong bộ sưu tập

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
1 trong đó giá trị của
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
3 là
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
4:

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
5 sử dụng toán tử $unset để:$unset operator to:

  • Xóa trường

    db.products.updateOne(
    { sku: "unknown" },
    { $unset: { quantity: "", instock: "" } }
    )
    7

  • Xóa trường

    db.products.updateOne(
    { sku: "unknown" },
    { $unset: { quantity: "", instock: "" } }
    )
    8

{
item: 'chisel',
sku: 'C001',
quantity: 4,
instock: true
},
{
item: 'hammer',
sku: 'unknown'
},
{
item: 'nails',
sku: 'unknown',
quantity: 100,
instock: true
}

Mẹo

Xem thêm:

  • Tham khảo> >
  • Toán tử> >
  • Cập nhật toán tử> >
  • Các nhà khai thác cập nhật trường> >
  • $unset

Sự định nghĩa¶

Định hướng

Trang sau đề cập đến toán tử cập nhật

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9. Đối với giai đoạn tổng hợp
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9, có sẵn trong MongoDB 4.2, xem
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9.

________ 6¶

Toán tử

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9 xóa một trường cụ thể. Xem xét cú pháp sau:

{ $unset: { <field1>: "", ... } }

Giá trị được chỉ định trong biểu thức

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9 (nghĩa là
{
item: 'chisel',
sku: 'C001',
quantity: 4,
instock: true
},
{
item: 'hammer',
sku: 'unknown'
},
{
item: 'nails',
sku: 'unknown',
quantity: 100,
instock: true
}
5) không ảnh hưởng đến hoạt động.

Để chỉ định

{
item: 'chisel',
sku: 'C001',
quantity: 4,
instock: true
},
{
item: 'hammer',
sku: 'unknown'
},
{
item: 'nails',
sku: 'unknown',
quantity: 100,
instock: true
}
6 trong tài liệu nhúng hoặc trong một mảng, hãy sử dụng ký hiệu DOT.dot notation.

Hành vi¶

Nếu trường không tồn tại, thì

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9 không làm gì (tức là không hoạt động).

Khi được sử dụng với

{
item: 'chisel',
sku: 'C001',
quantity: 4,
instock: true
},
{
item: 'hammer',
sku: 'unknown'
},
{
item: 'nails',
sku: 'unknown',
quantity: 100,
instock: true
}
8 để khớp với phần tử mảng,
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9 thay thế phần tử khớp với
{ $unset: { <field1>: "", ... } }
0 thay vì loại bỏ phần tử khớp khỏi mảng. Hành vi này giữ ổn định kích thước mảng và vị trí phần tử.

Thí dụ¶

Hoạt động

{ $unset: { <field1>: "", ... } }
1 sau đây sử dụng toán tử
db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
9 để loại bỏ các trường
{ $unset: { <field1>: "", ... } }
3 và
{ $unset: { <field1>: "", ... } }
4 khỏi tài liệu đầu tiên trong bộ sưu tập
{ $unset: { <field1>: "", ... } }
5 trong đó trường
{ $unset: { <field1>: "", ... } }
6 có giá trị
{ $unset: { <field1>: "", ... } }
7.

db.products.update(
   { sku: "unknown" },
   { $unset: { quantity: "", instock: "" } }
)