assertUpdated(ds.update(ds.createQuery(ContainsIntArray.class), ds.createUpdateOperations(ContainsIntArray.class) .add("values", 4, false)), assertUpdated(ds.update(ds.createQuery(ContainsIntArray.class), ds.createUpdateOperations(ContainsIntArray.class) .add("values", 4, false)), assertUpdated(ds.update(ds.createQuery(ContainsIntArray.class), ds.createUpdateOperations(ContainsIntArray.class) .add("values", 4, true)), newValues.add(4); newValues.add(5); assertUpdated(ds.update(ds.createQuery(ContainsIntArray.class), ds.createUpdateOperations(ContainsIntArray.class) .addAll("values", newValues, false)), assertUpdated(ds.update(ds.createQuery(ContainsIntArray.class), ds.createUpdateOperations(ContainsIntArray.class) .addAll("values", newValues, false)), assertUpdated(ds.update(ds.createQuery(ContainsIntArray.class), ds.createUpdateOperations(ContainsIntArray.class) .addAll("values", newValues, true)),
@Test public void testQueryUnmappedData() { getMorphia().map(Class1.class); getDs().ensureIndexes(true); getDs().getDB().getCollection("user").save( new BasicDBObject() .append("@class", Class1.class.getName()) .append("value1", "foo") .append("someMap", new BasicDBObject("someKey", "value"))); Query<Class1> query = getDs().createQuery(Class1.class); query.disableValidation().criteria("someMap.someKey").equal("value"); Class1 retrievedValue = query.find(new FindOptions().limit(1)).next(); Assert.assertNotNull(retrievedValue); Assert.assertEquals("foo", retrievedValue.value1); }
@Test public void testElemMatchUpdate() { // setUp Object id = getDs().save(new ContainsIntArray()).getId(); assertThat(getDs().get(ContainsIntArray.class, id).values, arrayContaining(1, 2, 3)); // do patch Query<ContainsIntArray> q = getDs().createQuery(ContainsIntArray.class) .filter("id", id) .filter("values", 2); UpdateOperations<ContainsIntArray> ops = getDs().createUpdateOperations(ContainsIntArray.class) .set("values.$", 5); getDs().update(q, ops); // expected assertThat(getDs().get(ContainsIntArray.class, id).values, arrayContaining(1, 5, 3)); }
/** * Deletes all mapped Morphia objects of a given class * @param <T> JavaDoc requires this - please ignore * @param clazz The mapped Morphia class */ public <T extends Object> void deleteAll(Class<T> clazz) { Preconditions.checkNotNull(clazz, "Tryed to delete list of mapped morphia objects, but given class is null"); this.datastore.delete(this.datastore.createQuery(clazz)); }