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

Upsert in blocco con il driver MongoDB Java 3.0

Puoi ancora utilizzare tutte le funzionalità, è solo che BulkWrites ora ha una sintassi diversa:

    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);

Quindi usi UpdateOneModel (o per molti se vuoi) e imposta UpdateOptions come terzo argomento per il costruttore.

Ci vuole un po' per abituarsi, ma fondamentalmente si tratta solo di costruire "liste" con la stessa sintassi di altrove. Immagino sia questo il motivo principale del cambiamento.