MongoDB không được đặt

tổ chức. khung mùa xuân. dữ liệu. mongodb. cốt lõi. truy vấnUpdateunset

Javadoc

Cập nhật bằng công cụ sửa đổi cập nhật $unset

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

  • 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

{ $unset: {".": "", ...}

Code language: PHP (php)
0 để xóa một hoặc nhiều trường khỏi tài liệu

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ử

{ $unset: {".": "", ...}

Code language: PHP (php)
0

{ $unset: {".": "", ...}

Code language: PHP (php)
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ệu

Toán tử

{ $unset: {".": "", ...}

Code language: PHP (php)
0 có cú pháp như sau

{ $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,

{ $unset: {".": "", ...}

Code language: PHP (php)
0 sẽ xóa hoàn toàn trường. Nếu

{ $unset: {".": "", ...}

Code language: PHP (php)
5 không tồn tại trong tài liệu, thì toán tử

{ $unset: {".": "", ...}

Code language: PHP (php)
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ào

Để 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

{ $unset: { "<embedded_doc>.<field>: "", .. }}

Code language: HTML, XML (xml)

Lưu ý rằng toán tử

{ $unset: {".": "", ...}

Code language: PHP (php)
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 null

{ $unset: {".": "", ...}

Code language: PHP (php)

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

{ $unset: {".": "", ...}

Code language: PHP (php)
8 sau đây

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]} ])

Code language: JavaScript (javascript)

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ử

{ $unset: {".": "", ...}

Code language: PHP (php)
0 để xóa trường giá khỏi tài liệu

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]} ])

Code language: JavaScript (javascript)
0 trong bộ sưu tập

{ $unset: {".": "", ...}

Code language: PHP (php)
8

db.products.updateOne({ _id: 1 }, { $unset: { price: "" } })

Code language: PHP (php)

đầu ra

{ acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 }

Code language: CSS (css)

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]} ])

Code language: JavaScript (javascript)
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ập

{ $unset: {".": "", ...}

Code language: PHP (php)
8 để xác minh bản cập nhật

db.products.find({}, { name: 1, price: 1 })

Code language: CSS (css)

đầu ra

[ { _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 } ]

Code language: JavaScript (javascript)

Như bạn có thể thấy rõ ràng từ đầu ra, toán tử

{ $unset: {".": "", ...}

Code language: PHP (php)
0 đã loại bỏ hoàn toàn trường

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]} ])

Code language: JavaScript (javascript)
5 khỏi tài liệu với

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]} ])

Code language: JavaScript (javascript)
0

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ử

{ $unset: {".": "", ...}

Code language: PHP (php)
0 để loại bỏ các trường

{ acknowledged: true, insertedId: null, matchedCount: 1, modifiedCount: 1, upsertedCount: 0 }

Code language: CSS (css)
2 và

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]} ])

Code language: JavaScript (javascript)
9 khỏi tất cả các tài liệu trong bộ sưu tập

{ $unset: {".": "", ...}

Code language: PHP (php)
8

Làm cách nào để bỏ đặt dữ liệu trong MongoDB?

Trong MongoDB, toán tử $unset được sử dụng để xóa một trường cụ thể. Giá trị được chỉ định trong biểu thức $unset không ảnh hưởng đến hoạt động. $unset không có tác dụng khi trường không tồn tại trong tài liệu. tên của cột hoặc trường sẽ bị xóa.

Làm cách nào để bỏ đặt nhiều giá trị trong MongoDB?

Giai đoạn $unset có cú pháp như sau. .
To remove a single field, the $unset takes a string that specifies the field to remove: { $unset: "" }.
To remove multiple fields, the $unset takes an array of fields to remove. { $unset: [ "", "", .. ] }.

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

Trong MongoDB, upsert là một phương thức được sử dụng để chèn và cập nhật giá trị trong bất kỳ thao tác nào . Nói cách khác, phương thức upsert của MongoDB là sự kết hợp giữa insert và update (insert + update = upsert). Theo mặc định, giá trị của phương thức upsert luôn là false.

Chức năng nào sau đây sẽ xóa bộ sưu tập trong MongoDB?

Phương thức remove() . phương thức remove() chấp nhận hai tham số. Một là tiêu chí xóa và thứ hai là cờ justOne. tiêu chí xóa − (Tùy chọn) tiêu chí xóa theo tài liệu sẽ bị xóa.