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

Mongo có thể nâng cấp dữ liệu mảng không?

Tôi chỉ gặp phải vấn đề này chính mình. Tôi không thể tìm thấy giải pháp một cuộc gọi, nhưng tôi đã tìm thấy giải pháp hai cuộc gọi hoạt động khi bạn có một giá trị duy nhất trong các phần tử mảng của mình . Sử dụng $pull trước tiên, lệnh này sẽ xóa các phần tử khỏi một mảng, rồi đến $push .

db.soup.update({
    "tester":"tom"
}, {
    $pull: {
        'array': {
            "id": "3"
        }
    }
})
db.soup.update({
    "tester":"tom"
}, {
    $push: {
        'array': {
            "id": "3",
            "letter": "d"
        }
    }
})

Điều này sẽ hoạt động khi tài liệu không tồn tại, khi tài liệu tồn tại nhưng mục nhập trong mảng không tồn tại và khi mục nhập tồn tại.

Một lần nữa, điều này chỉ hoạt động nếu bạn có thứ gì đó, chẳng hạn như id trong ví dụ này, trường đó phải là trường duy nhất trên các phần tử của mảng.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tại sao MongoDB không sử dụng giao điểm chỉ mục?

  2. MongoDB ước tínhDocumentCount ()

  3. MongoDB để sử dụng Sharding với Toán tử tổng hợp $ tra cứu

  4. Chuyển hướng đầu ra của truy vấn mongo sang tệp csv

  5. Tổng hợp MongoDB với $ lookup chỉ bao gồm (hoặc dự án) một số trường để trả về từ truy vấn