@Override public void removeTag(@Nonnull OWLEntity entity, @Nonnull TagId tagId) { try { writeLock.lock(); Query<EntityTags> query = tagWithProjectIdAndEntity(projectId, entity); UpdateOperations<EntityTags> updateOps = datastore.createUpdateOperations(EntityTags.class); updateOps.removeAll(TAGS, tagId); datastore.update(query, updateOps); } finally { writeLock.unlock(); } }
@Override public void removeTag(@Nonnull TagId tagId) { try { writeLock.lock(); Query<EntityTags> query = datastore.createQuery(EntityTags.class) .field(PROJECT_ID).equal(projectId); UpdateOperations<EntityTags> updateOps = datastore.createUpdateOperations(EntityTags.class); updateOps.removeAll(TAGS, tagId); datastore.update(query, updateOps); } finally { writeLock.unlock(); } }
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; }