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

Mongo актуализира всички записи с поле, което е нула

Ако полето за име не е там, опитайте:

db.collection.update({"name": {"$exists": false}}, {"$set": {"name": "test"}})

$set ще добави ново поле с посочената стойност, при условие че новото поле не нарушава ограничение на типа.

Ако е там и е null или няма зададена стойност:

db.collection.update({"name": null}, {"$set": {"name": "test"}})

Можете да комбинирате и двете заявки, като използвате $or като

db.collection.update(
    {
        "$or": [
            { "name": { "$exists": false } }, 
            { "name": null }
        ]
    }, 
    { "$set": { "name": "test" } }
)

За MongoDB 3.2 и по-нова версия използвайте updateMany() който актуализира множество документи в колекцията въз основа на филтъра:

db.collection.updateMany(
    {
        "$or": [
            { "name": { "$exists": false } }, 
            { "name": null }
        ]
    }, 
    { "$set": { "name": "test" } }
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring-data-mongo не може да инстанцира java.util.List с помощта на Constructor

  2. MongoDB пълнотекстово търсене

  3. Използване на AngularJs и MongoDB/Mongoose

  4. Не може да се инсталира правилно mongodb на ubuntu 18.04 LTS

  5. Конфигуриране на сигнали за метрики на MongoDB