Search in sources :

Example 1 with Update

use of dev.morphia.query.Update in project morphia by mongodb.

the class TestUpdateOperations method testRemoveAllList.

@Test
public void testRemoveAllList() {
    LogHolder logs = new LogHolder();
    Date date = new Date();
    logs.logs.addAll(asList(new Log(1), new Log(2), new Log(3), new Log(1), new Log(2), new Log(3)));
    Datastore ds = getDs();
    ds.save(logs);
    UpdateResult results = ds.find(LogHolder.class).update(pullAll("logs", singletonList(new Log(3)))).execute();
    Assert.assertEquals(results.getModifiedCount(), 1);
    LogHolder updated = ds.find(LogHolder.class).iterator(new FindOptions().limit(1)).next();
    Assert.assertEquals(updated.logs.size(), 4);
    Assert.assertTrue(updated.logs.stream().allMatch(log -> log.equals(new Log(1)) || log.equals(new Log(2))));
}
Also used : Document(org.bson.Document) CoreMatchers.is(org.hamcrest.CoreMatchers.is) Matchers.arrayContaining(org.hamcrest.Matchers.arrayContaining) CoreMatchers(org.hamcrest.CoreMatchers) Filters.regex(dev.morphia.query.experimental.filters.Filters.regex) Date(java.util.Date) Embedded(dev.morphia.annotations.Embedded) Test(org.testng.annotations.Test) Book(dev.morphia.test.models.Book) Datastore(dev.morphia.Datastore) Id(dev.morphia.annotations.Id) Collections.singletonList(java.util.Collections.singletonList) CoreMatchers.notNullValue(org.hamcrest.CoreMatchers.notNullValue) UpdateOperators.pullAll(dev.morphia.query.experimental.updates.UpdateOperators.pullAll) TypeSpecification(dev.morphia.query.experimental.updates.CurrentDateOperator.TypeSpecification) UpdateOperators.pull(dev.morphia.query.experimental.updates.UpdateOperators.pull) UpdateOperators.setOnInsert(dev.morphia.query.experimental.updates.UpdateOperators.setOnInsert) UpdateResult(com.mongodb.client.result.UpdateResult) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ContainsPic(dev.morphia.test.query.TestQuery.ContainsPic) Arrays.asList(java.util.Arrays.asList) Map(java.util.Map) UpdateOperators.dec(dev.morphia.query.experimental.updates.UpdateOperators.dec) Entity(dev.morphia.annotations.Entity) Circle(dev.morphia.test.models.Circle) UpdateOperators.addToSet(dev.morphia.query.experimental.updates.UpdateOperators.addToSet) UpdateOptions(dev.morphia.UpdateOptions) ValidationException(dev.morphia.query.ValidationException) User(dev.morphia.test.models.User) PreLoad(dev.morphia.annotations.PreLoad) FindOptions(dev.morphia.query.FindOptions) UpdateOperators.pop(dev.morphia.query.experimental.updates.UpdateOperators.pop) Set(java.util.Set) UpdateOperators.min(dev.morphia.query.experimental.updates.UpdateOperators.min) Assert.assertNotNull(org.testng.Assert.assertNotNull) Instant(java.time.Instant) Objects(java.util.Objects) List(java.util.List) MatcherAssert(org.hamcrest.MatcherAssert) UpdateOperators.xor(dev.morphia.query.experimental.updates.UpdateOperators.xor) MorphiaCursor(dev.morphia.query.MorphiaCursor) Query(dev.morphia.query.Query) UpdateOperators.and(dev.morphia.query.experimental.updates.UpdateOperators.and) LocalDate(java.time.LocalDate) Expressions.literal(dev.morphia.aggregation.experimental.expressions.Expressions.literal) UpdateOperators.set(dev.morphia.query.experimental.updates.UpdateOperators.set) UpdateOperators.max(dev.morphia.query.experimental.updates.UpdateOperators.max) UpdateOperators.inc(dev.morphia.query.experimental.updates.UpdateOperators.inc) Set.set(dev.morphia.aggregation.experimental.stages.Set.set) Assert.assertNull(org.testng.Assert.assertNull) UpdateOperators.push(dev.morphia.query.experimental.updates.UpdateOperators.push) LocalDateTime(java.time.LocalDateTime) Assert.assertEquals(org.testng.Assert.assertEquals) HashMap(java.util.HashMap) DeleteOptions(dev.morphia.DeleteOptions) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Update(dev.morphia.query.Update) Calendar(java.util.Calendar) Assert(org.testng.Assert) Assert.assertThrows(org.testng.Assert.assertThrows) BsonTimestamp(org.bson.BsonTimestamp) Sort(dev.morphia.query.Sort) Rectangle(dev.morphia.test.models.Rectangle) UpdateOperators.rename(dev.morphia.query.experimental.updates.UpdateOperators.rename) UpdateOperators.mul(dev.morphia.query.experimental.updates.UpdateOperators.mul) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) UpdateOperators.unset(dev.morphia.query.experimental.updates.UpdateOperators.unset) CoreMatchers.nullValue(org.hamcrest.CoreMatchers.nullValue) TestEntity(dev.morphia.test.models.TestEntity) Month(java.time.Month) PathTarget(dev.morphia.internal.PathTarget) Matchers(org.hamcrest.Matchers) Filters(dev.morphia.query.experimental.filters.Filters) Indexed(dev.morphia.annotations.Indexed) UpdateOperators.or(dev.morphia.query.experimental.updates.UpdateOperators.or) DAYS(java.time.temporal.ChronoUnit.DAYS) Matchers.hasItem(org.hamcrest.Matchers.hasItem) NOW(dev.morphia.aggregation.experimental.expressions.SystemVariables.NOW) UpdateOperators.currentDate(dev.morphia.query.experimental.updates.UpdateOperators.currentDate) StringJoiner(java.util.StringJoiner) Filters.eq(dev.morphia.query.experimental.filters.Filters.eq) Pic(dev.morphia.test.query.TestQuery.Pic) ObjectId(org.bson.types.ObjectId) Nullable(com.mongodb.lang.Nullable) MorphiaReference(dev.morphia.mapping.experimental.MorphiaReference) FindOptions(dev.morphia.query.FindOptions) Datastore(dev.morphia.Datastore) Date(java.util.Date) LocalDate(java.time.LocalDate) UpdateOperators.currentDate(dev.morphia.query.experimental.updates.UpdateOperators.currentDate) UpdateResult(com.mongodb.client.result.UpdateResult) Test(org.testng.annotations.Test)

Aggregations

UpdateResult (com.mongodb.client.result.UpdateResult)1 Nullable (com.mongodb.lang.Nullable)1 Datastore (dev.morphia.Datastore)1 DeleteOptions (dev.morphia.DeleteOptions)1 UpdateOptions (dev.morphia.UpdateOptions)1 Expressions.literal (dev.morphia.aggregation.experimental.expressions.Expressions.literal)1 NOW (dev.morphia.aggregation.experimental.expressions.SystemVariables.NOW)1 Set.set (dev.morphia.aggregation.experimental.stages.Set.set)1 Embedded (dev.morphia.annotations.Embedded)1 Entity (dev.morphia.annotations.Entity)1 Id (dev.morphia.annotations.Id)1 Indexed (dev.morphia.annotations.Indexed)1 PreLoad (dev.morphia.annotations.PreLoad)1 PathTarget (dev.morphia.internal.PathTarget)1 MorphiaReference (dev.morphia.mapping.experimental.MorphiaReference)1 FindOptions (dev.morphia.query.FindOptions)1 MorphiaCursor (dev.morphia.query.MorphiaCursor)1 Query (dev.morphia.query.Query)1 Sort (dev.morphia.query.Sort)1 Update (dev.morphia.query.Update)1