@Override public void remove(String username) { collection.remove("{'username':'"+username+"'}"); }
@Override public void remove(ObjectId id) { collection.remove(id); }
private void doRemove(MongoCollection collection, String opQuery, Object[] parameters) throws DataServiceFault { if (opQuery != null) { if (parameters.length > 0) { collection.remove(opQuery, parameters); } else { collection.remove(opQuery); } } else { throw new DataServiceFault("Mongo remove statements must contain a query"); } }
@Override public void remove(final String query, final Object... queryParams) throws MongoDataException { try { getCollection().remove(query, queryParams); } catch (MongoException ex) { String msg = "Unable to remove document by query " + query + " of type " + clazz.getName() + " with params " + Arrays.toString(queryParams); log.error(msg, ex); throw new MongoDataException(msg, ex); } }
@Override public void delete(final State instance) { try { getCollection().remove("{_id: #}", instance.getId()); } catch (final Exception e) { LOG.log(Level.WARNING, "delete error", e); } }
@Override public void removeByStringId(final String id) throws MongoDataException { try { getCollection().remove("{_id:#}", id); } catch (MongoException ex) { String msg = "Unable to remove document of type " + clazz.getName() + " by id '" + id + "'"; log.error(msg, ex); throw new MongoDataException(msg, ex); } }
@Override public void remove(final String query) throws MongoDataException { try { getCollection().remove(query); } catch (MongoException ex) { String msg = "Unable to remove document by query " + query + " of type " + clazz.getName(); log.error(msg, ex); throw new MongoDataException(msg, ex); } }
@Override public void removeById(final String id) throws MongoDataException { try { getCollection().remove(new ObjectId(id)); } catch (MongoException ex) { String msg = "Unable to remove document of type " + clazz.getName() + " by id '" + id + "'"; log.error(msg, ex); throw new MongoDataException(msg, ex); } catch (IllegalArgumentException ex) { String msg = "Given id '" + id + "' can't be converted to an ObjectId"; log.error(msg, ex); throw new MongoDataException(msg, ex); } }
@Override public int _deleteByPrimaryKey(Table table) { try { DB db = database.getDB(); Jongo jongo = new Jongo(db); if(table.getConditions().containsKey("_id")){ jongo.getCollection(table.getTableName()).remove(new ObjectId(String.valueOf(table.getConditions().get("_id")))); }else{ jongo.getCollection(table.getTableName()).remove(JsonUtils.objToJson(table.getConditions())); } } catch (MongoException e) { LOG.error("mongo findOne error", e); } return 1; }
@Override public int _deleteByCriteria(Table table) { Map<String, Object> coditon = new HashMap<String, Object>(); try { QueryCriteria queryCriteria = table.getQueryCriteria(); DB db = database.getDB(); Jongo jongo = new Jongo(db); for(Criteria criteria:queryCriteria.getOredCriteria()){ for(Criterion criterion:criteria.getAllCriteria()){ coditon = buildCriteria(criterion, coditon); } } Find find = jongo.getCollection(queryCriteria.getTable()).find(JsonUtils.objToJson(coditon)); Iterator<Map> iterator = find.as(Map.class).iterator(); while (iterator.hasNext()) { Map<String, Object> map = iterator.next(); if (null != map) { if(map.containsKey("_id")){ jongo.getCollection(table.getTableName()).remove(new ObjectId(String.valueOf(map.get("_id")))); } } } } catch (MongoException e) { LOG.error("mongo delete error", e); } return 1; }
/** * This method deletes the entity from the collection for a given key. * * @param tableName Name of the table * @param entity Entity * @throws ODataServiceFault */ @Override public boolean deleteEntityInTable(String tableName, ODataEntry entity) throws ODataServiceFault { String documentId = entity.getValue(DOCUMENT_ID); WriteResult delete = jongo.getCollection(tableName).remove(new ObjectId(documentId)); int wasDeleted = delete.getN(); if (wasDeleted == 1) { return delete.wasAcknowledged(); } else { throw new ODataServiceFault("Document ID: " + documentId + " does not exist in " + "collection: " + tableName + "."); } }