use of org.mongodb.morphia.Datastore in project morphia by mongodb.
the class Employee method main.
public static void main(final String[] args) throws UnknownHostException {
final Morphia morphia = new Morphia();
// tell morphia where to find your classes
// can be called multiple times with different packages or classes
morphia.mapPackage("org.mongodb.morphia.example");
// create the Datastore connecting to the database running on the default port on the local host
final Datastore datastore = morphia.createDatastore(new MongoClient(), "morphia_example");
datastore.getDB().dropDatabase();
datastore.ensureIndexes();
final Employee elmer = new Employee("Elmer Fudd", 50000.0);
datastore.save(elmer);
final Employee daffy = new Employee("Daffy Duck", 40000.0);
datastore.save(daffy);
final Employee pepe = new Employee("Pepé Le Pew", 25000.0);
datastore.save(pepe);
elmer.getDirectReports().add(daffy);
elmer.getDirectReports().add(pepe);
datastore.save(elmer);
Query<Employee> query = datastore.find(Employee.class);
final List<Employee> employees = query.asList();
Assert.assertEquals(3, employees.size());
List<Employee> underpaid = datastore.find(Employee.class).filter("salary <=", 30000).asList();
Assert.assertEquals(1, underpaid.size());
underpaid = datastore.find(Employee.class).field("salary").lessThanOrEq(30000).asList();
Assert.assertEquals(1, underpaid.size());
final Query<Employee> underPaidQuery = datastore.find(Employee.class).filter("salary <=", 30000);
final UpdateOperations<Employee> updateOperations = datastore.createUpdateOperations(Employee.class).inc("salary", 10000);
final UpdateResults results = datastore.update(underPaidQuery, updateOperations);
Assert.assertEquals(1, results.getUpdatedCount());
final Query<Employee> overPaidQuery = datastore.find(Employee.class).filter("salary >", 100000);
datastore.delete(overPaidQuery);
}
use of org.mongodb.morphia.Datastore in project morphia by mongodb.
the class CollectionObjectReference method syncKeys.
private void syncKeys() {
final Datastore ds = getDatastore();
listOfKeys.clear();
for (final Object e : ((Collection) object)) {
listOfKeys.add(ds.getKey(e));
}
}
use of org.mongodb.morphia.Datastore in project morphia by mongodb.
the class JsonList method empties.
private void empties() {
Datastore ds = getDs();
ds.delete(ds.find(Employee.class));
Employee employee = new Employee();
employee.byteList = asList((byte) 1, (byte) 2);
ds.save(employee);
Employee loaded = ds.find(Employee.class).get();
assertEquals(employee.byteList, loaded.byteList);
assertNull(loaded.floatList);
}
use of org.mongodb.morphia.Datastore in project morphia by mongodb.
the class TestJavaMaps method empties.
private void empties() {
Datastore ds = getDs();
ds.delete(ds.find(Employee.class));
Employee employee = new Employee();
HashMap<String, Byte> byteMap = new HashMap<String, Byte>();
byteMap.put("b", (byte) 1);
employee.byteMap = byteMap;
ds.save(employee);
Employee loaded = ds.find(Employee.class).get();
assertEquals(Byte.valueOf((byte) 1), loaded.byteMap.get("b"));
assertNull(loaded.floatMap);
}
use of org.mongodb.morphia.Datastore in project morphia by mongodb.
the class TestEmbeddedValidation method testDottedNames.
@Test
public void testDottedNames() {
ParentType parentType = new ParentType();
EmbeddedSubtype embedded = new EmbeddedSubtype();
embedded.setText("text");
embedded.setNumber(42L);
embedded.setFlag(true);
parentType.setEmbedded(embedded);
Datastore ds = getDs();
ds.save(parentType);
Query<ParentType> query = ds.find(ParentType.class).disableValidation().field("embedded.flag").equal(true);
Assert.assertEquals(parentType, query.get());
}
Aggregations