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

Jak zaktualizować pola dokumentów w mongo db za pomocą sterownika java?

Zastanawiam się, czy sterownik jest wystarczająco inteligentny, aby zaktualizować tylko najmniejszy podzbiór zmian, czy po prostu aktualizuje na ślepo całość?

Nie, jeśli użyjesz „normalnej” metody aktualizacji, cały obiekt zostanie przesłany przez przewód. Podejrzewam, że sam serwer bazy danych będzie na tyle sprytny, aby zaktualizować tylko niezbędne indeksy (a nie te, które się nie zmieniły), jeśli to możliwe (tj. obiekt mógł być aktualizowany na miejscu i nie musiał być przenoszony, ponieważ zbytnio się rozrósł)

To, co możesz zrobić, to użyć funkcji „modyfikatora aktualizacji atomowej”. Dokumentacja Java jest nieco lekka, ale ponieważ sterownik po prostu przesyła JSON, rzeczy z samouczków innych niż Java powinny działać, na przykład:

shapes.update((DBObject)JSON.parse(    "{ 'foo' : 'bar'}"),  
    (DBObject) JSON.parse(          "{ '$set' : { 'foo': 'bat'}}")   );


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. wyklucz pola w agregacji $ lookup

  2. 2 sposoby na odkrycie indeksu w MongoDB

  3. Jak możemy stworzyć automatycznie generowane pole dla mongodb za pomocą wiosennego rozruchu?

  4. Unikalny indeks Mongoose na poddokumencie

  5. Wstawka partii Mongoose (mongodb)?