Cập nhật bằng công cụ sửa đổi cập nhật $unsetJavadoc
Các phương pháp cập nhật phổ biến
- bố trí
Cập nhật bằng công cụ sửa đổi cập nhật $set
- cập nhật
Phương thức xuất xưởng tĩnh để tạo Cập nhật bằng khóa được cung cấp
- tập đoàn
Cập nhật bằng công cụ sửa đổi cập nhật $inc
- xô
Cập nhật bằng công cụ sửa đổi cập nhật $push
- sự lôi kéo
Cập nhật bằng công cụ sửa đổi cập nhật $pull
- setOnInsert
Cập nhật bằng công cụ sửa đổi cập nhật $setOnInsert
- addToSet
Cập nhật bằng công cụ sửa đổi cập nhật $addToSet
- từTài liệu
Tạo một phiên bản Cập nhật từ Tài liệu đã cho. Cho phép loại trừ rõ ràng các trường khỏi việc tạo
- getUpdateObject
- addMultiFieldOperation
- bị cô lập
- thêmMultiFieldOperation,
- bị cô lập,
- là từ khóa,
- sửa đổi,
- kéoTất cả,
- đẩy tất cả
Phổ biến trong Java
- Tạo yêu cầu bài đăng http bằng okhttp
- so sánh với [BigDecimal]
- getExternalFilesDir [Ngữ cảnh]
- getSupportFragmentManager [FragmentActivity]
- HttpServer [com. mặt trời. net. máy chủ http]
Lớp này triển khai một máy chủ HTTP đơn giản. Một HttpServer được liên kết với một địa chỉ IP và số cổng a
- Ảnh đệm [java. awt. ảnh]
Lớp con BufferedImage mô tả một java. awt. Hình ảnh có bộ đệm dữ liệu hình ảnh có thể truy cập. Tất cả các
- Ngày [java. sử dụng]
Một thời điểm cụ thể trong thời gian, với độ chính xác đến mili giây. Các giá trị thường đến từ System#currentTime
- StringTokenizer [java. sử dụng]
Chia chuỗi thành các mã thông báo; . > // Mã kế thừa. chuỗi đến
- Hẹn giờ [java. sử dụng]
Bộ hẹn giờ lên lịch TimerTask một lần hoặc định kỳ để thực hiện. thích java hơn. sử dụng. đồng thời. Lên kế hoạch
- Bản đồ cây [java. sử dụng]
Đi qua các nút của cây từ trái sang phải hoặc từ phải sang trái. Lưu ý rằng trong các lần lặp giảm dần, tiếp theo
- Các plugin Sublime Text hàng đầu
Tôi đã cố gắng làm điều gì đó tương tự như thế này nhưng thay vào đó hãy xóa cột khỏi tài liệu được nhúng. Tôi đã mất một lúc để tìm ra giải pháp và đây là bài đăng đầu tiên tôi bắt gặp nên tôi nghĩ mình sẽ đăng bài này ở đây cho bất kỳ ai khác đang cố gắng làm điều tương tự
Vì vậy, hãy nói thay vào đó dữ liệu của bạn trông như thế này
{
name: 'book',
tags: [
{
words: ['abc','123'],
lat: 33,
long: 22
}, {
words: ['def','456'],
lat: 44,
long: 33
}
]
}
Để xóa cột words
khỏi tài liệu được nhúng, hãy làm điều này
db.example.update[
{'tags': {'$exists': true}},
{ $unset: {'tags.$[].words': 1}},
{multi: true}
]
hoặc sử dụng updateMany
db.example.updateMany[
{'tags': {'$exists': true}},
{ $unset: {'tags.$[].words': 1}}
]
$unset
sẽ chỉ chỉnh sửa nó nếu giá trị tồn tại nhưng nó sẽ không thực hiện điều hướng an toàn [nó sẽ không kiểm tra xem tags
có tồn tại trước không] vì vậy cần có giá trị tồn tại trên tài liệu được nhúng
Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng toán tử MongoDB
0 để xóa một hoặc nhiều trường khỏi tài liệuCode language: PHP [php]
{ $unset: {".": "", ...}
Giới thiệu về toán tử MongoDB $unset
Đôi khi, bạn có thể muốn xóa một hoặc nhiều trường khỏi tài liệu. Để làm điều đó, bạn có thể sử dụng toán tử
0Code language: PHP [php]
{ $unset: {".": "", ...}
0 là toán tử cập nhật trường loại bỏ hoàn toàn một trường cụ thể khỏi tài liệuCode language: PHP [php]
{ $unset: {".": "", ...}
Toán tử
0 có cú pháp như sauCode language: PHP [php]
{ $unset: {".": "", ...}
{ $unset: {: "", .. }}
Code language: PHP [php]
Trong cú pháp này, bạn chỉ định trường mà bạn muốn xóa và giá trị của nó. Giá trị trường không quan trọng và không ảnh hưởng đến hoạt động. Bạn có thể chỉ định bất kỳ giá trị nào,
0 sẽ xóa hoàn toàn trường. NếuCode language: PHP [php]
{ $unset: {".": "", ...}
5 không tồn tại trong tài liệu, thì toán tửCode language: PHP [php]
{ $unset: {".": "", ...}
0 sẽ không làm gì cả. Nó cũng sẽ không đưa ra bất kỳ cảnh báo hoặc lỗi nàoCode language: PHP [php]
{ $unset: {".": "", ...}
Để chỉ định một trường trong tài liệu được nhúng, bạn sử dụng ký hiệu dấu chấm như thế này
Code language: HTML, XML [xml]
{ $unset: { ".: "", .. }}
Lưu ý rằng toán tử
0 không loại bỏ các phần tử mảng. Thay vào đó, nó đặt các phần tử mảng thành nullCode language: PHP [php]
{ $unset: {".": "", ...}
Code language: PHP [php]
{ $unset: {".": "", ...}
Hành vi này giữ cho kích thước mảng và vị trí phần tử nhất quán
Ví dụ toán tử $unset MongoDB
Chúng tôi sẽ sử dụng bộ sưu tập
8 sau đâyCode language: PHP [php]
{ $unset: {".": "", ...}
Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate["2011-05-14"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]}, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate["2011-09-01"] , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]}, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate["2015-01-14"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]}, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate["2020-05-14"],"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]}, { "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate["2022-09-14"], "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]} ]]
1] Sử dụng toán tử MongoDB $unset để xóa một trường khỏi tài liệu
Ví dụ sau sử dụng toán tử
0 để xóa trường giá khỏi tài liệuCode language: PHP [php]
{ $unset: {".": "", ...}
0 trong bộ sưu tậpCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate["2011-05-14"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]}, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate["2011-09-01"] , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]}, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate["2015-01-14"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]}, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate["2020-05-14"],"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]}, { "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate["2022-09-14"], "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]} ]]
8Code language: PHP [php]
{ $unset: {".": "", ...}
Code language: PHP [php]
db.products.updateOne[{ _id: 1 }, { $unset: { price: "" } }]
đầu ra
Code language: CSS [css]
{ acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 }
2 chỉ ra rằng một tài liệu đã được sửa đổi. Truy vấn này trả về tất cả các tài liệu từ bộ sưu tậpCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate["2011-05-14"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]}, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate["2011-09-01"] , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]}, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate["2015-01-14"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]}, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate["2020-05-14"],"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]}, { "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate["2022-09-14"], "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]} ]]
8 để xác minh bản cập nhậtCode language: PHP [php]
{ $unset: {".": "", ...}
Code language: CSS [css]
db.products.find[{}, { name: 1, price: 1 }]
đầu ra
Code language: JavaScript [javascript]
[ { _id: 1, name: 'xPhone' }, { _id: 2, name: 'xTablet', price: 899 }, { _id: 3, name: 'SmartTablet', price: 899 }, { _id: 4, name: 'SmartPad', price: 699 }, { _id: 5, name: 'SmartPhone', price: 599 } ]
Như bạn có thể thấy rõ ràng từ đầu ra, toán tử
0 đã loại bỏ hoàn toàn trườngCode language: PHP [php]
{ $unset: {".": "", ...}
5 khỏi tài liệu vớiCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate["2011-05-14"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]}, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate["2011-09-01"] , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]}, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate["2015-01-14"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]}, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate["2020-05-14"],"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]}, { "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate["2022-09-14"], "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]} ]]
0Code language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate["2011-05-14"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]}, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate["2011-09-01"] , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]}, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate["2015-01-14"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]}, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate["2020-05-14"],"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]}, { "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate["2022-09-14"], "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]} ]]
2] Sử dụng toán tử MongoDB $unset để xóa một trường trong tài liệu được nhúng
Câu lệnh sau sử dụng toán tử
0 để loại bỏ các trườngCode language: PHP [php]
{ $unset: {".": "", ...}
2 vàCode language: CSS [css]
{ acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 }
9 khỏi tất cả các tài liệu trong bộ sưu tậpCode language: JavaScript [javascript]
db.products.insertMany[[ { "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate": ISODate["2011-05-14"], "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 },"color":["white","black"],"storage":[64,128,256]}, { "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate": ISODate["2011-09-01"] , "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 },"color":["white","black","purple"],"storage":[128,256,512]}, { "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate": ISODate["2015-01-14"], "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 },"color":["blue"],"storage":[16,64,128]}, { "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate": ISODate["2020-05-14"],"spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256,1024]}, { "_id" : 5, "name" : "SmartPhone", "price" : 599,"releaseDate": ISODate["2022-09-14"], "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 },"color":["white","orange","gold","gray"],"storage":[128,256]} ]]
8Code language: PHP [php]
{ $unset: {".": "", ...}