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

Bulk Upsert med MongoDB Java 3.0-driver

Du kan stadig bruge al funktionaliteten, det er bare, at BulkWrites nu har en anden syntaks:

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 bruger UpdateOneModel ( eller for mange hvis du vil ) og indstil UpdateOptions som det tredje argument til konstruktøren.

Det kræver lidt tilvænning, men det er i bund og grund bare at bygge "Lister" med alle den samme syntaks som andre steder. Jeg gætter på, at det er hovedårsagen til ændringen.



  1. Mongoid-forespørgsel efter værdi eller standardværdi

  2. mongo createIndex baggrund blokerer skallen

  3. Mongodb 2.4 2dsphere-forespørgsler meget langsomme (ved hjælp af $geoIntersects)?

  4. Hvordan omdøber du en MongoDB-database?