MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB:Aktualizacja dokumentów przy użyciu danych z tego samego dokumentu

Aktualizacja: Jeśli wszystko, co musisz zrobić, to zmienić strukturę dokumentu bez zmiany wartości, zapoznaj się z odpowiedzią gipseta, aby uzyskać dobre rozwiązanie.

Zgodnie z (obecnie niedostępnym) komentarzem na stronie dokumentacji aktualizacji, nie można odwoływać się do właściwości bieżącego dokumentu z poziomu update() .

Będziesz musiał przejść przez wszystkie dokumenty i zaktualizować je w ten sposób:

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);
  }
)

Taka funkcja może być również użyta w zadaniu map-reduce lub po stronie serwera db.eval() pracę, w zależności od Twoich potrzeb.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb:znajdź głęboko zagnieżdżony obiekt za pomocą $lookup

  2. MongoDb c# driver znajduje element w tablicy według wartości pola

  3. Spring Boot i jak skonfigurować szczegóły połączenia z MongoDB?

  4. Jak mogę wyłączyć komunikaty dziennika MongoDB w konsoli?

  5. Niezawodne ponowne połączenie z MongoDB