sql >> Base de Datos >  >> NoSQL >> MongoDB

Upsert masivo con el controlador MongoDB Java 3.0

Todavía puede usar toda la funcionalidad, solo que BulkWrites ahora tiene una sintaxis diferente:

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

Así que usa el UpdateOneModel (o para muchos si lo desea) y establezca UpdateOptions como tercer argumento del constructor.

Lleva un tiempo acostumbrarse, pero básicamente se trata de crear "Listas" con la misma sintaxis que en otros lugares. Supongo que esa es la razón principal del cambio.