sql >> Database teknologi >  >> NoSQL >> MongoDB

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

TL;DR :

Brug den asynkrone driver, hvis handlingerne er langsomme, eller brug den almindelige driver i de fleste tilfælde. Du bør ikke bruge kernedriveren.

MongoDB almindelig driver :

Generel driver, som du kan bruge til at søge, oprette, læse, opdatere og slette dokumenter. find(...) , updateMany(...) , deleteMany(...) og lignende metoder vil hænge, ​​så længe resultatet ikke returneres, eller operationen ikke udføres (synkron adfærd). Dette er den driver, som de fleste programmer bruger og er god i de fleste tilfælde.

Her er et eksempel på indsættelse af et enkelt dokument:

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

MongoDB Async Driver :

En anden type driver, som du kan bruge til at søge, oprette, læse, opdatere og slette dokumenter. Denne driver tilbyder lignende metoder end den almindelige driver (find(...) , updateMany(...) , deleteMany(...) , etc.).

Forskellen med den almindelige driver er, at hovedtråden ikke hænger, fordi asynkrondriveren sender resultatet i en tilbagekald (asynkron adfærd). Denne driver bruges, når operationerne kan tage lang tid (meget data at gå igennem, høj latenstid, forespørgsel på uindekserede felter osv.), og du ikke ønsker at administrere flere tråde.

Her er et eksempel på tilbagekald ved indsættelse af et enkelt dokument:

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...")

For mere information, læs dette .

MongoDB Core Driver

Basislag af de almindelige og asynkrone drivere. Den indeholder metoder på lavt niveau til at udføre alle de operationer, der er fælles for de almindelige og asynkrone drivere. Medmindre du laver en ny API/driver til MongoDB, bør du ikke bruge kernedriveren.




  1. MongoDb opdatere objekt i et array ved første forekomst fra sidst

  2. Forespørgsel efter en række arrays i MongoDB

  3. MongoDB.service mislykkedes med resultatudgangskode

  4. redis:nulstil tæller hver dag