MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Massen-Upsert mit MongoDB Java 3.0-Treiber

Sie können weiterhin alle Funktionen nutzen, nur dass BulkWrites jetzt eine andere Syntax haben:

    MongoCollection<Document> collection = db.getCollection("sample");

    List<WriteModel<Document>> updates = Arrays.<WriteModel<Document>>asList(
        new UpdateOneModel<Document>(
                new Document(),                   // find part
                new Document("$set",1),           // update part
                new UpdateOptions().upsert(true)  // options like upsert
        )
    );

    BulkWriteResult bulkWriteResult = collection.bulkWrite(updates);

Sie verwenden also den UpdateOneModel (oder für viele, wenn Sie möchten) und setzen Sie UpdateOptions als drittes Argument für den Konstruktor.

Es ist etwas gewöhnungsbedürftig, aber es ist im Grunde nur das Erstellen von "Listen" mit der gleichen Syntax wie anderswo. Ich denke, das ist der Hauptgrund für die Änderung.