Saltar al contenido

C# mongodb driver 2.0 – ¿Cómo upsert en una operación masiva?

Te damos el arreglo a esta aprieto, o por lo menos eso deseamos. Si continuas con dudas coméntalo, que para nosotros será un placer ayudarte

Solución:

Selecciona el IsUpsert propiedad de la UpdateOneModel a true para convertir la actualización en un upsert.

var upsertOne = new UpdateOneModel(filter, update)  IsUpsert = true ;
bulkOps.Add(upsertOne);
collection.BulkWrite(bulkOps);

dada colección mongo

IMongoCollection collection

y enumerable de registros para insertar donde T tiene el campo Id.

IEnumerable records 

este fragmento hará una inserción masiva (la condición del filtro se puede cambiar según la situación):

var bulkOps = new List>();
foreach (var record in records)

    var upsertOne = new ReplaceOneModel(
        Builders.Filter.Where(x => x.Id == record.Id),
        record)
     IsUpsert = true ;
    bulkOps.Add(upsertOne);

collection.BulkWrite(bulkOps);

Si te gusta la programación, tienes la libertad de dejar un enunciado acerca de qué te ha parecido este post.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *