public boolean checkIfExistsAndInsertOtherwise(short id){ Datastore datastore = getDatastore(); Query<OrganizationId> updateQuery = datastore.createQuery(OrganizationId.class).field("identificationNumber").equal(id); //Bogus operation, just set id to itself UpdateOperations<OrganizationId> ops = datastore.createUpdateOperations(OrganizationId.class).set("identificationNumber", id); UpdateResults<OrganizationId> result = datastore.updateFirst(updateQuery, ops, true,WriteConcern.SAFE); return result.getInsertedCount() == 0; }
public Optional<EntityDiscussionThread> setThreadStatus(@Nonnull ThreadId threadId, @Nonnull Status status) { datastore.updateFirst(createQueryForThread(threadId), getUpdateOperations().set(STATUS, status)); return Optional.ofNullable(datastore.get(EntityDiscussionThread.class, threadId)); }
Datastore ds = ...; //get/change/save Settings s = ds.find(Settings.class).get(); //like findOne in the shell/driver s.showFriendsList = true; ds.save(s); //or update ds.updateFirst(ds.find(Settings.class), ds.creatUpdateOperations(Settings.class).set("showFiendsList", true));
public boolean deleteComment(CommentId commentId) { Query<EntityDiscussionThread> query = datastore.createQuery(EntityDiscussionThread.class) .field(COMMENTS_ID).equal(commentId); UpdateOperations<EntityDiscussionThread> update = getUpdateOperations() .removeAll(COMMENTS, new BasicDBObject("_id", commentId.getId())); UpdateResults updateResults = datastore.updateFirst(query, update); return updateResults.getUpdatedCount() == 1; }
public void updateComment(ThreadId id, Comment comment) { Query<EntityDiscussionThread> query = createQueryForThread(id) .field(COMMENTS_ID).equal(comment.getId()); UpdateOperations<EntityDiscussionThread> update = getUpdateOperations() .set(MATCHED_COMMENT_PATH, comment); datastore.updateFirst(query, update); }