MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pilote Java MongoDB :pilote MongoCore contre pilote MongoDB contre pilote asynchrone MongoDB

TL;DR :

Utilisez le pilote asynchrone si les opérations sont lentes ou utilisez le pilote standard dans la plupart des cas. Vous ne devez pas utiliser le pilote principal.

Pilote standard MongoDB :

Pilote général que vous pouvez utiliser pour rechercher, créer, lire, mettre à jour et supprimer des documents. Le find(...) , updateMany(...) , deleteMany(...) et les méthodes similaires se bloqueront tant que le résultat n'est pas renvoyé ou que l'opération n'est pas effectuée (comportement synchrone). C'est le pilote que la plupart des programmes utilisent et il est bon dans la plupart des cas.

Voici un exemple d'insertion d'un seul document :

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

Pilote asynchrone MongoDB :

Un autre type de pilote que vous pouvez utiliser pour rechercher, créer, lire, mettre à jour et supprimer des documents. Ce pilote propose des méthodes similaires au pilote standard (find(...) , updateMany(...) , deleteMany(...) , etc.).

La différence avec le pilote standard est que le thread principal ne se bloquera pas car le pilote asynchrone envoie le résultat dans un rappel (comportement asynchrone). Ce pilote est utilisé lorsque les opérations peuvent prendre beaucoup de temps (beaucoup de données à parcourir, latence élevée, requête sur des champs non indexés, etc.) et que vous ne souhaitez pas gérer plusieurs threads.

Voici un exemple de rappel lors de l'insertion d'un seul Document :

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

Pour plus d'informations, lisez ceci .

Pilote de base MongoDB

Couche de base des pilotes réguliers et asynchrones. Il contient des méthodes de bas niveau pour effectuer toutes les opérations communes aux pilotes réguliers et asynchrones. À moins que vous ne créiez une nouvelle API/pilote pour MongoDB, vous ne devez pas utiliser le pilote principal.