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

Xóa một phần tử khỏi mảng trong mongodb

$ pop toán tử sẽ xóa phần tử đầu tiên hoặc cuối cùng của mảng, phần tử này có thể không nhất thiết phải là phần tử phù hợp.

Nếu bạn muốn một phần tử cụ thể, bạn có thể $ pull mặt hàng có tiêu chí xác định:

   model.registerCompany.findOneAndUpdate({companyKey:"a key"},
    {$pull:{onlineEmployees:"John"}},

Bạn phải đảm bảo giá trị trong mảng là duy nhất, cho $pull xóa mọi phần tử khớp với tên 'John'.

Nếu các giá trị giống hệt nhau tồn tại trong mảng, bạn cần sử dụng $unset$ toán tử vị trí để đặt giá trị phần tử đích thành null (rất tiếc $ unset sẽ không xóa các phần tử) và sau đó sử dụng $pull để xóa phần tử có null giá trị. Để làm điều đó, bạn phải đảm bảo giá trị hợp lệ không được null . Trong trường hợp đó, mã có thể giống như:

model.registerCompany.findOneAndUpdate({companyKey:"a key", onlineEmployees:"John"},{ $unset: { "onlineEmployees.$" : '' } } ) 
model.registerCompany.findOneAndUpdate({companyKey:"a key"},{ $pull: { "onlineEmployees" : null } } ) 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB không cho phép sử dụng '.' trong chìa khóa

  2. Làm cách nào để bạn đổi tên cơ sở dữ liệu MongoDB?

  3. Mới sử dụng MongoDB Không thể chạy lệnh mongo

  4. Cách tìm các truy vấn không sử dụng chỉ mục hoặc chậm trong mongodb

  5. Meteor.Collection.ObjectID () so với MongoDB ObjectId ()