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

MongoDB Java Driver:MongoCore Driver vs. MongoDB Driver vs. MongoDB Async Driver

TL;DR :

Użyj sterownika asynchronicznego, jeśli operacje są powolne, lub w większości przypadków użyj zwykłego sterownika. Nie powinieneś używać podstawowego sterownika.

Zwykły sterownik MongoDB :

Ogólny sterownik, za pomocą którego można wyszukiwać, tworzyć, czytać, aktualizować i usuwać dokumenty. find(...) , updateMany(...) , deleteMany(...) i podobne metody będą zawieszone, dopóki wynik nie zostanie zwrócony lub operacja nie zostanie wykonana (zachowanie synchroniczne). Jest to sterownik używany przez większość programów i w większości przypadków jest dobry.

Oto przykład wstawiania pojedynczego dokumentu:

collection.insertOne(doc);
//Do something here.
System.out.println("Inserted!")

Sterownik asynchroniczny MongoDB :

Inny typ sterownika, którego można używać do wyszukiwania, tworzenia, czytania, aktualizowania i usuwania dokumentów. Ten sterownik oferuje podobne metody niż zwykły sterownik (find(...) , updateMany(...) , deleteMany(...) itp.).

Różnica w stosunku do zwykłego sterownika polega na tym, że główny wątek nie będzie się zawieszał, ponieważ sterownik asynchroniczny wysyła wynik w oddzwanianie (zachowanie asynchroniczne). Ten sterownik jest używany, gdy operacje mogą zająć dużo czasu (dużo danych do przetworzenia, duże opóźnienia, zapytania dotyczące nieindeksowanych pól itp.) i nie chcesz zarządzać wieloma wątkami.

Oto przykład wywołania zwrotnego podczas wstawiania pojedynczego dokumentu:

collection.insertOne(doc, new SingleResultCallback<Void>() {
    @Override
    public void onResult(final Void result, final Throwable t) {
        //Do something here.
        System.out.println("Inserted!");
    }
});
// Do something to show that the Document was not inserted yet.
System.out.println("Inserting...")

Aby uzyskać więcej informacji, przeczytaj to .

Podstawowy sterownik MongoDB

Warstwa podstawowa sterowników zwykłych i asynchronicznych. Zawiera metody niskiego poziomu do wykonywania wszystkich operacji wspólnych dla sterowników zwykłych i asynchronicznych. Jeśli nie tworzysz nowego API/sterownika dla MongoDB, nie powinieneś używać podstawowego sterownika.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB, java.lang.NoSuchFieldError

  2. Usuwanie obiektu z ObjectId z tablicy w Mongoose/MongoDB

  3. Konwertuj datę z milisekund na obiekt ISODate

  4. Redis vs. MongoDB:co musisz wiedzieć

  5. Generowanie autogeneracji _id vs. ObjectId w MongoDB