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

MongoDB håndtering af indsættelsesfejl i Java

Du skal tage et kig på "WriteConcern ", den har al den adfærd, du har brug for.

Du kan bruge det per én skrivning sådan her:

coll.insert(dbObj, WriteConcern.SAFE);

Hvis du bruger WriteConcern.SAFE, vil din operation vente på en bekræftelse fra den primære server, så hvis der ikke er nogen undtagelse, er du ok.

Eller du kan indstille standardadfærd for alle skriveoperationer når du opretter MongoClient:

MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.writeConcern(WriteConcern.JOURNAL_SAFE);
MongoClient mongoClient = new MongoClient(
    new ServerAddress("localhost"), builder.build());

[Baseret på Colin Morellis kommentar] Hvis du ikke bruger en WriteConcern, der rejser undtagelser, kan du bruge WriteResult.getLastError() til at afgøre, om det lykkedes eller ej. På samme måde, hvis du bruger WriteConcern.SAFE, og skrivningen lykkes, vil WriteResult have nyttige oplysninger om det, såsom antallet af poster, der blev skrevet.

Her kan du læse om WriteConcern i generelt .




  1. Få tilfældige poster og visning i et bestemt format ved hjælp af PHP og MongoDB

  2. Fejl [ERR_HTTP_HEADERS_SENT]:Kan ikke indstille overskrifter, efter at de er sendt til klienten

  3. Hvordan gør jeg mere end/mindre end at bruge MongoDB?

  4. Vigtigste forskelle/funktioner blandt de mest kendte NoSQL-systemer