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

MongodDB $ chỉ kéo một phần tử từ mảng

Không, không có gì như thế này vào lúc này. Rất nhiều người đã yêu cầu tính năng này và bạn có thể theo dõi nó trong mongodb Jira . Theo như bạn có thể thấy thì nó không được giải quyết và cũng không được lên lịch (có nghĩa là bạn không gặp may trong thời gian sắp tới).

Tùy chọn duy nhất là sử dụng logic ứng dụng để đạt được điều này sẽ là:

  1. tìm phần tử bạn muốn và có userTags là foo
  2. lặp qua các thẻ userTags và xóa một foo khỏi thẻ đó
  3. cập nhật phần tử đó bằng thẻ người dùng mới

Hãy nhớ rằng thao tác này phá vỡ tính nguyên tử, nhưng vì Mongo không cung cấp phương thức gốc để làm như vậy, bạn sẽ phá vỡ tính nguyên tử theo bất kỳ cách nào.

Tôi đã chuyển một giải pháp thay thế cho câu trả lời mới, vì nó không trả lời câu hỏi này, nhưng đại diện cho một trong những cách tiếp cận để cấu trúc lại lược đồ hiện có. Nó cũng trở nên quá lớn, bắt đầu lớn hơn nhiều so với câu trả lời ban đầu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách cài đặt MongoDB làm dịch vụ trên Windows 8.1

  2. Cách xóa nhiều tài liệu trong bộ sưu tập được phân vùng trong Azure CosmosDB bằng cách sử dụng MongoDB API

  3. Làm thế nào để áp dụng các ràng buộc trong MongoDB?

  4. MongoDB không bằng

  5. MongoDB Spring data Criteria.all