sql >> Databasteknik >  >> NoSQL >> MongoDB

Bulk Upsert med MongoDB Java 3.0-drivrutin

Du kan fortfarande använda alla funktioner, det är bara det att BulkWrites nu har en annan syntax:

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

Så du använder UpdateOneModel ( eller för många om du vill ) och ställ in UpdateOptions som det tredje argumentet till konstruktören.

Det tar lite tid att vänja sig vid, men det är i princip bara att bygga "listor" med samma syntax som på andra ställen. Jag antar att det är huvudorsaken till förändringen.



  1. Express.js och connect-mongo session varaktighet

  2. Skiftlägesokänslig sortering i MongoDB

  3. Mongo-demonen körs inte av tjänsten mongod start

  4. MongoDb sökprestanda