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

Cách đẩy nhiều lần vào mảng lồng nhau

Vấn đề:Trong bộ lọc mảng, _id được so khớp với chuỗi thay vì ObjectId

Truy vấn sau sẽ cập nhật chính xác bộ sưu tập:

db.companies.update(
    {
        _id: ObjectId("5d7052a3807ab14e286ba5bd")
    }, 
    {
        $push: {
            "companyBases.$[filter1].vehicles": {
                "name": "Truck 1",
                "combustion": 28
            },
            "companyBases.$[filter2].vehicles": {
                "name": "Truck 2",
                "combustion": 28
            }
        }
    }, 
    {
        "arrayFilters": [{
                "filter1._id": ObjectId("5d7052a3807ab14e286ba5b0")
            },
            {
                "filter2._id": ObjectId("5d7052a3807ab14e286ba5af")
            }
        ]
    }
)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bộ sưu tập giới hạn MongoDB và chỉ số tăng độc quyền

  2. MongoDB không xử lý tổng hợp với allowDiskUsage:True

  3. Meteor sử dụng Azure MongoDB

  4. $ project trong $ lookup mongodb

  5. Nhận bộ sưu tập và thêm giá trị vào phản hồi