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

mgo:как да актуализирате конкретен масив в документ

Написахте това по грешен начин. Съвпадението на стойността на "идентификационния номер" на склада принадлежи към частта "заявка" на вашето изявление, а не в секцията "актуализация". Поради това не искате UpdateId вариант, но Update тъй като позволява по-широк избор на заявка:

query := bson.M{
    "_id": bson.ObjectIdHex(productId),
    "location.warehouse": bson.ObjectIdHex(warehouseId)
}

update := bson.M{
    "$set": bson.M{
        "location.$.count": 4
    }
}

err := coll.Update(query,update)

Също така имайте предвид, че "нотация с точки" form е добре тук, тъй като вашият селектор за елемента на масива е просто едно поле. Обикновено се нуждаете само от $elemMatch когато има повече от едно поле в масива за установяване на съвпадението.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да конвертирам свойство в MongoDB от текст към тип дата?

  2. Как мога да получа всички имена на полета на Mongoid документа?

  3. Инсталирайте MongoDB на Mac

  4. Mongodb C# драйвер Неподдържан филтър грешка с конкретен linq предикат

  5. spring data mongodb група от