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

Controlla se c'è un errore in update/insert | Driver Java MongoDB

Se stai usando WriteConcern.ACKNOWLEDGED (che penso sia anche SAFE ) non è necessario inquinare il codice con il controllo degli errori.

Per ACKNOWLEDGED , il driver emetterà automaticamente un getLastError comando automaticamente e solleva un'eccezione se qualcosa è andato storto, ad esempio violazione dell'indice duplicato.

A partire dalla v2.10 del driver Java, il problema di scrittura predefinito è ACKNOWLEDGED

MODIFICA

Non dovresti farlo, ma in ogni caso:

Il insert il metodo restituisce infatti WriteResult . Se è getError() è null , è tutto OK, altrimenti restituisce qualcosa come E11000 duplicate key error index:... . Affinché funzioni, dovrai utilizzare WriteConcern.UNACKNOWLEDGED