Search in sources :

Example 11 with Update

use of org.springframework.data.mongodb.core.query.Update in project spring-data-mongodb by spring-projects.

the class DefaultBulkOperationsUnitTests method appliesArrayFilterWhenPresent.

// DATAMONGO-2450
@Test
void appliesArrayFilterWhenPresent() {
    ops.updateOne(new BasicQuery("{}"), new Update().filterArray(Criteria.where("element").gte(100))).execute();
    verify(collection).bulkWrite(captor.capture(), any());
    UpdateOneModel<Document> updateModel = (UpdateOneModel<Document>) captor.getValue().get(0);
    assertThat(updateModel.getOptions().getArrayFilters().get(0)).isEqualTo(new org.bson.Document("element", new Document("$gte", 100)));
}
Also used : Document(org.bson.Document) UpdateOneModel(com.mongodb.client.model.UpdateOneModel) BasicQuery(org.springframework.data.mongodb.core.query.BasicQuery) Update(org.springframework.data.mongodb.core.query.Update) Document(org.bson.Document) BsonDocument(org.bson.BsonDocument) Test(org.junit.jupiter.api.Test)

Example 12 with Update

use of org.springframework.data.mongodb.core.query.Update in project spring-data-mongodb by spring-projects.

the class DefaultBulkOperationsUnitTests method writeConcernNotAppliedWhenNotSet.

// DATAMONGO-2330
@Test
void writeConcernNotAppliedWhenNotSet() {
    ops.updateOne(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen")).execute();
    verify(collection, never()).withWriteConcern(any());
}
Also used : BasicQuery(org.springframework.data.mongodb.core.query.BasicQuery) Update(org.springframework.data.mongodb.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 13 with Update

use of org.springframework.data.mongodb.core.query.Update in project spring-data-mongodb by spring-projects.

the class DefaultBulkOperationsUnitTests method updateOneShouldUseCollationWhenPresent.

// DATAMONGO-1518
@Test
void updateOneShouldUseCollationWhenPresent() {
    ops.updateOne(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen")).execute();
    verify(collection).bulkWrite(captor.capture(), any());
    assertThat(captor.getValue().get(0)).isInstanceOf(UpdateOneModel.class);
    assertThat(((UpdateOneModel<Document>) captor.getValue().get(0)).getOptions().getCollation()).isEqualTo(com.mongodb.client.model.Collation.builder().locale("de").build());
}
Also used : BasicQuery(org.springframework.data.mongodb.core.query.BasicQuery) Update(org.springframework.data.mongodb.core.query.Update) Document(org.bson.Document) BsonDocument(org.bson.BsonDocument) Test(org.junit.jupiter.api.Test)

Example 14 with Update

use of org.springframework.data.mongodb.core.query.Update in project spring-data-mongodb by spring-projects.

the class DefaultBulkOperationsUnitTests method writeConcernAppliedCorrectlyWhenSet.

// DATAMONGO-2330
@Test
void writeConcernAppliedCorrectlyWhenSet() {
    ops.setDefaultWriteConcern(WriteConcern.MAJORITY);
    ops.updateOne(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen")).execute();
    verify(collection).withWriteConcern(eq(WriteConcern.MAJORITY));
}
Also used : BasicQuery(org.springframework.data.mongodb.core.query.BasicQuery) Update(org.springframework.data.mongodb.core.query.Update) Test(org.junit.jupiter.api.Test)

Example 15 with Update

use of org.springframework.data.mongodb.core.query.Update in project spring-data-mongodb by spring-projects.

the class DefaultBulkOperationsUnitTests method updateManyShouldUseCollationWhenPresent.

// DATAMONGO-1518
@Test
void updateManyShouldUseCollationWhenPresent() {
    ops.updateMulti(new BasicQuery("{}").collation(Collation.of("de")), new Update().set("lastName", "targaryen")).execute();
    verify(collection).bulkWrite(captor.capture(), any());
    assertThat(captor.getValue().get(0)).isInstanceOf(UpdateManyModel.class);
    assertThat(((UpdateManyModel<Document>) captor.getValue().get(0)).getOptions().getCollation()).isEqualTo(com.mongodb.client.model.Collation.builder().locale("de").build());
}
Also used : BasicQuery(org.springframework.data.mongodb.core.query.BasicQuery) Update(org.springframework.data.mongodb.core.query.Update) Document(org.bson.Document) BsonDocument(org.bson.BsonDocument) Test(org.junit.jupiter.api.Test)

Aggregations

Update (org.springframework.data.mongodb.core.query.Update)212 Test (org.junit.jupiter.api.Test)179 Document (org.bson.Document)117 Query (org.springframework.data.mongodb.core.query.Query)72 BasicQuery (org.springframework.data.mongodb.core.query.BasicQuery)57 NearQuery (org.springframework.data.mongodb.core.query.NearQuery)23 Bson (org.bson.conversions.Bson)21 FindOneAndUpdateOptions (com.mongodb.client.model.FindOneAndUpdateOptions)15 UpdateResult (com.mongodb.client.result.UpdateResult)12 ObjectId (org.bson.types.ObjectId)12 List (java.util.List)8 ToString (lombok.ToString)8 AggregationUpdate (org.springframework.data.mongodb.core.aggregation.AggregationUpdate)8 Criteria (org.springframework.data.mongodb.core.query.Criteria)8 VersionedPerson (org.springframework.data.mongodb.core.MongoTemplateTests.VersionedPerson)7 StepVerifier (reactor.test.StepVerifier)7 BsonDocument (org.bson.BsonDocument)6 UpdateOptions (com.mongodb.client.model.UpdateOptions)5 ArrayList (java.util.ArrayList)5 Instant (java.time.Instant)4