MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да направите многократно натискане към вложен масив

Проблем:Във филтрите за масиви _id се съпоставя с низ вместо ObjectId

Следната заявка точно ще актуализира колекцията:

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. 3 начина за премахване на стойност от масив в MongoDB

  2. Свързване към набор от реплики на MongoDB с rmongodb

  3. Метеор:публикувайте 2 различни проекции на елементи от масива

  4. Как да създадете елемент, ако не съществува и да върнете грешка, ако съществува

  5. mongo-go-driver намери документ по _id