Search in sources :

Example 61 with UpdateResult

use of com.mongodb.client.result.UpdateResult in project MtgDesktopCompanion by nicho92.

the class MongoDbDAO method updateAlert.

@Override
public void updateAlert(MagicCardAlert alert) throws SQLException {
    Bson filter = new Document("alertItem.id", alert.getId());
    BasicDBObject obj = new BasicDBObject();
    obj.put(dbAlertField, alert);
    obj.put(dbIDField, IDGenerator.generate(alert.getCard()));
    UpdateResult res = db.getCollection(colAlerts, BasicDBObject.class).replaceOne(filter, BasicDBObject.parse(serialize(obj)));
    logger.debug(res);
}
Also used : BasicDBObject(com.mongodb.BasicDBObject) Document(org.bson.Document) UpdateResult(com.mongodb.client.result.UpdateResult) Bson(org.bson.conversions.Bson)

Example 62 with UpdateResult

use of com.mongodb.client.result.UpdateResult in project MtgDesktopCompanion by nicho92.

the class MongoDbDAO method saveOrUpdateStock.

@Override
public void saveOrUpdateStock(MagicCardStock state) throws SQLException {
    logger.debug("saving " + state);
    if (state.getIdstock() == -1) {
        state.setIdstock(Integer.parseInt(getNextSequence().toString()));
        BasicDBObject obj = new BasicDBObject();
        obj.put(dbStockField, state);
        obj.put(dbCardIDField, IDGenerator.generate(state.getMagicCard()));
        db.getCollection(colStocks, BasicDBObject.class).insertOne(BasicDBObject.parse(serialize(obj)));
    } else {
        Bson filter = new Document("stockItem.idstock", state.getIdstock());
        BasicDBObject obj = new BasicDBObject();
        obj.put(dbStockField, state);
        obj.put(dbCardIDField, IDGenerator.generate(state.getMagicCard()));
        logger.debug(filter);
        UpdateResult res = db.getCollection(colStocks, BasicDBObject.class).replaceOne(filter, BasicDBObject.parse(serialize(obj)));
        logger.debug(res);
    }
}
Also used : BasicDBObject(com.mongodb.BasicDBObject) Document(org.bson.Document) UpdateResult(com.mongodb.client.result.UpdateResult) Bson(org.bson.conversions.Bson)

Example 63 with UpdateResult

use of com.mongodb.client.result.UpdateResult in project morphia by mongodb.

the class TestUpdateOperations method testUpdateWithDifferentType.

@Test
public void testUpdateWithDifferentType() {
    final ContainsInt cInt = new ContainsInt();
    cInt.val = 21;
    getDs().save(cInt);
    Query<ContainsInt> query = getDs().find(ContainsInt.class);
    final UpdateResult res = query.update(inc("val", 1.1D)).execute();
    assertUpdated(res, 1);
    Assert.assertEquals(query.iterator(new FindOptions().limit(1)).next().val, 22);
}
Also used : FindOptions(dev.morphia.query.FindOptions) UpdateResult(com.mongodb.client.result.UpdateResult) Test(org.testng.annotations.Test)

Example 64 with UpdateResult

use of com.mongodb.client.result.UpdateResult 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)

Example 65 with UpdateResult

use of com.mongodb.client.result.UpdateResult in project morphia by mongodb.

the class TestUpdateOperations method testMaxWithDates.

@Test
public void testMaxWithDates() {
    List<User> entities = List.of(new User("User 1", LocalDate.of(2003, 7, 13)), new User("User 2", LocalDate.of(2009, 12, 1)), new User("User 3", LocalDate.of(2015, 8, 19)));
    getDs().save(entities);
    UpdateResult updated = getDs().find(User.class).update(max("joined", LocalDate.now())).execute(new UpdateOptions().multi(true));
    assertEquals(updated.getModifiedCount(), 3);
    getDs().find(User.class).delete();
    getDs().save(entities);
    updated = getDs().find(User.class).update(max("joined", Instant.now())).execute(new UpdateOptions().multi(true));
    assertEquals(updated.getModifiedCount(), 3);
    getDs().find(User.class).delete();
    getDs().save(entities);
    Calendar instance = Calendar.getInstance();
    instance.set(2136, Calendar.MAY, 13);
    Date date = instance.getTime();
    updated = getDs().find(User.class).update(max("joined", date)).execute(new UpdateOptions().multi(true));
    assertEquals(updated.getModifiedCount(), 3);
}
Also used : User(dev.morphia.test.models.User) Calendar(java.util.Calendar) UpdateResult(com.mongodb.client.result.UpdateResult) UpdateOptions(dev.morphia.UpdateOptions) Date(java.util.Date) LocalDate(java.time.LocalDate) UpdateOperators.currentDate(dev.morphia.query.experimental.updates.UpdateOperators.currentDate) Test(org.testng.annotations.Test)

Aggregations

UpdateResult (com.mongodb.client.result.UpdateResult)74 Document (org.bson.Document)31 Test (org.junit.Test)20 Bson (org.bson.conversions.Bson)16 Update (org.springframework.data.mongodb.core.query.Update)12 Test (org.testng.annotations.Test)11 UpdateOptions (com.mongodb.client.model.UpdateOptions)10 BasicDBObject (com.mongodb.BasicDBObject)9 FindOptions (dev.morphia.query.FindOptions)8 BsonDocument (org.bson.BsonDocument)8 FindOneAndUpdateOptions (com.mongodb.client.model.FindOneAndUpdateOptions)7 DeleteResult (com.mongodb.client.result.DeleteResult)7 Query (org.springframework.data.mongodb.core.query.Query)7 ObjectId (org.bson.types.ObjectId)6 UpdateOptions (dev.morphia.UpdateOptions)5 ArrayList (java.util.ArrayList)5 Exchange (org.apache.camel.Exchange)5 Processor (org.apache.camel.Processor)5 DBObject (com.mongodb.DBObject)4 Formatter (java.util.Formatter)4