public static void crud() throws Exception { Datastore ds = getDatastore(); // create PureMorphiaUser user = new PureMorphiaUser("John", "Smith"); ds.save(user); // read PureMorphiaUser user2 = ds.get(PureMorphiaUser.class, user.id); // update user2.fName = "Tom"; ds.save(user2); // delete ds.delete(user2); }
@Override public void setMessageReadden(String userId, String messageId) { Query<UnreaddenMessage> q = ds.createQuery(UnreaddenMessage.class) .field("message") .equal(new Key<GeneralMessage>(GeneralMessage.class, new ObjectId(messageId))) .field("userId") .equal(userId); ds.delete(q); ReaddenMessage readdenMessage = new ReaddenMessage(); readdenMessage.setUserId(userId); readdenMessage.setMessageUniqueId( ds.get(GeneralMessage.class, new ObjectId(messageId)).getUniqueFieldValue().toString()); ds.save(readdenMessage); // TODO Next lines are just to save space in unpaid mongoDB on CloudBees Query<UnreaddenMessage> isMore = ds.createQuery(UnreaddenMessage.class) .field("message") .equal(new Key<GeneralMessage>(GeneralMessage.class, new ObjectId(messageId))); if (isMore.countAll() <= 0) { ds.delete(GeneralMessage.class, new ObjectId(messageId)); } }
public T byId(ObjectId objectId) { return datastore.get(type, objectId); }
public List<T> byIds(Iterable<ObjectId> ids) { if (ids == null || !ids.iterator().hasNext()) return Collections.emptyList(); return datastore.get(type, ids).asList(); }
public T byId(String id) { return datastore.get(type, ObjectId.massageToObjectId(id)); }