sql >> Databáze >  >> NoSQL >> MongoDB

Jak chytím MongoSecurityException?

Výjimku MongoSecurityException nelze zachytit, protože je vyvolána ve vláknu na pozadí.

Můžete počkat, až se MongoTimeoutException zpracuje 'synchronně':

  MongoClientOptions clientOptions = new MongoClientOptions.Builder().serverSelectionTimeout(500).build();
    mongoClient = new MongoClient(serverAddress, Collections.singletonList(credential), clientOptions);
    try {
        String address = mongoClient.getConnectPoint();
        System.out.println(address);
    }catch (Throwable e){
        System.out.println(e);
    }

Nebo můžete implementovat ServerListener a zpracovat asynchronně

{ 
MongoClientOptions clientOptions = new MongoClientOptions.Builder().addServerListener(this).build();
mongoClient = new MongoClient(host1, Collections.singletonList(credential), clientOptions);
}

@Override
public void serverDescriptionChanged(ServerDescriptionChangedEvent event) {
    Throwable exception = event.getNewDescription().getException();
    handle(exception);
}



  1. Může mongo vrátit dokumenty s prázdnými/chybějícími poli na konci ve vzestupném pořadí?

  2. Nechte nový ClusterControl zabezpečit vaše nasazení MongoDB

  3. Existuje ekvivalentní nástroj jako sql profiler pro mongodb?

  4. Mongodb:Pokud je podmínka splněna, vloží prvek do vnořeného pole