sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB:Aktualizace dokumentů pomocí dat ze stejného dokumentu

Aktualizace: Pokud vše, co musíte udělat, je změnit strukturu dokumentu beze změny hodnot, podívejte se na odpověď gipset, kde najdete pěkné řešení.

Podle (nyní nedostupného) komentáře na stránce dokumentace aktualizace nemůžete odkazovat na vlastnosti aktuálního dokumentu z update() .

Budete muset procházet všechny dokumenty a aktualizovat je takto:

db.events.find().snapshot().forEach(
  function (e) {
    // update document, using its own properties
    e.coords = { lat: e.lat, lon: e.lon };

    // remove old properties
    delete e.lat;
    delete e.lon;

    // save the updated document
    db.events.save(e);
  }
)

Takovou funkci lze také použít v úloze map-reduce nebo na straně serveru db.eval() práci, v závislosti na vašich potřebách.



  1. Jak hledat klíčový vzor v redis hash?

  2. Instalace MongoDB na CentOS 8

  3. pomocí $ as $match v mongodb

  4. Jak odstranit n-tý prvek pole v mongodb