sql >> Database >  >> NoSQL >> MongoDB

Bulk Upsert met MongoDB Java 3.0-stuurprogramma

Je kunt nog steeds alle functionaliteit gebruiken, maar BulkWrites heeft nu een andere syntaxis:

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

U gebruikt dus de UpdateOneModel (of voor velen als je wilt) en stel de in UpdateOptions als het derde argument voor de constructor.

Het is even wennen, maar het is eigenlijk gewoon "Lijsten" bouwen met dezelfde syntaxis als elders. Ik denk dat dat de belangrijkste reden voor de verandering is.



  1. Gegevens opmaken voor MongoEngine PointField

  2. Variabelen gebruiken in MongoDB Map-reduce map-functie

  3. Node.js - Relaties creëren met Mongoose

  4. phpredis op fedora 12