All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eu.drus.jpa.unit.mongodb.operation.RefreshOperation Maven / Gradle / Ivy

The newest version!
package eu.drus.jpa.unit.mongodb.operation;

import java.util.List;

import org.bson.Document;

import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.result.UpdateResult;

public class RefreshOperation implements MongoDbOperation {

    @Override
    public void execute(final MongoDatabase connection, final Document data) {
        for (final String collectionName : data.keySet()) {
            final MongoCollection collection = connection.getCollection(collectionName);

            @SuppressWarnings("unchecked")
            final List documents = data.get(collectionName, List.class);

            for (final Document doc : documents) {
                final UpdateResult result = collection.replaceOne(Filters.eq(doc.get("_id")), doc);

                if (result.getMatchedCount() == 0) {
                    collection.insertOne(doc);
                }
            }
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy