MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Nối một chuỗi vào cuối trường hiện có trong MongoDB

Khởi động Mongo 4.2 , db.collection.update() có thể chấp nhận một đường dẫn tổng hợp, cuối cùng cho phép cập nhật một trường dựa trên giá trị hiện tại của nó:

// { a: "Hello" }
db.collection.update(
  {},
  [{ $set: { a: { $concat: [ "$a", "World" ] } } }],
  { multi: true }
)
// { a: "HelloWorld" }
  • Phần đầu tiên {} là truy vấn đối sánh, lọc tài liệu nào cần cập nhật (trong trường hợp này là tất cả tài liệu).

  • Phần thứ hai [{ $set: { a: { $concat: [ "$a", "World" ] } } }] là đường ống tổng hợp cập nhật (lưu ý dấu ngoặc vuông biểu thị việc sử dụng đường ống tổng hợp). $set (bí danh của $addFields ) là một toán tử tổng hợp mới trong trường hợp này sẽ thay thế giá trị của trường (bằng cách nối a chính nó với hậu tố "World" ). Lưu ý cách a được sửa đổi trực tiếp dựa trên giá trị của chính nó ($a ).

  • Đừng quên { multi: true } , nếu không, chỉ tài liệu phù hợp đầu tiên sẽ được cập nhật.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Aggregate $ lookup không trả về thứ tự mảng ban đầu của các phần tử

  2. Tại sao các ObjectIds MongooseJS của tôi không thành công trong bài kiểm tra bình đẳng?

  3. Mongoose - tìm các tài liệu phụ theo tiêu chí

  4. Cách tiếp tục chèn sau lỗi trùng lặp khóa bằng PyMongo

  5. Cách xem tính năng của bạnCompatibilityVersion trong MongoDB