private boolean deleteTableMetadata(SchemaTableName schemaTableName) { String schemaName = schemaTableName.getSchemaName(); String tableName = schemaTableName.getTableName(); MongoDatabase db = client.getDatabase(schemaName); if (!collectionExists(db, tableName)) { return false; } DeleteResult result = db.getCollection(schemaCollection) .deleteOne(new Document(TABLE_NAME_KEY, tableName)); return result.getDeletedCount() == 1; }
/** * Delete a record from the database. * * @param table * The name of the table * @param key * The record key of the record to delete. * @return Zero on success, a non-zero error code on error. See the {@link DB} * class's description for a discussion of error codes. */ @Override public Status delete(String table, String key) { try { MongoCollection<Document> collection = database.getCollection(table); Document query = new Document("_id", key); DeleteResult result = collection.withWriteConcern(writeConcern).deleteOne(query); if (result.wasAcknowledged() && result.getDeletedCount() == 0) { System.err.println("Nothing deleted for key " + key); return Status.NOT_FOUND; } return Status.OK; } catch (Exception e) { System.err.println(e.toString()); return Status.ERROR; } }
public void deleteTransaction(TransactionArchive archive) { try { TransactionXid transactionXid = (TransactionXid) archive.getXid(); byte[] global = transactionXid.getGlobalTransactionId(); String identifier = ByteUtils.byteArrayToString(global); String application = CommonUtils.getApplication(this.endpoint); String databaseName = application.replaceAll("\\W", "_"); MongoDatabase mdb = this.mongoClient.getDatabase(databaseName); MongoCollection<Document> transactions = mdb.getCollection(CONSTANTS_TB_TRANSACTIONS); DeleteResult result = transactions.deleteOne(Filters.eq(CONSTANTS_FD_GLOBAL, identifier)); if (result.getDeletedCount() != 1) { logger.error("Error occurred while deleting transaction(deleted= {}).", result.getDeletedCount()); } } catch (RuntimeException error) { logger.error("Error occurred while deleting transaction!", error); } }
@Signature public boolean deleteOne(BasicDBObject filter) { DeleteResult result = getWrappedObject().deleteOne(filter); return result.getDeletedCount() > 0; }
@Signature public long deleteMany(BasicDBObject filter) { return getWrappedObject().deleteMany(filter).getDeletedCount(); }
public void unlockTransactionInMongoDB(TransactionXid transactionXid, String identifier) { byte[] global = transactionXid.getGlobalTransactionId(); String instanceId = ByteUtils.byteArrayToString(global); try { String application = CommonUtils.getApplication(this.endpoint); String databaseName = application.replaceAll("\\W", "_"); MongoDatabase mdb = this.mongoClient.getDatabase(databaseName); MongoCollection<Document> collection = mdb.getCollection(CONSTANTS_TB_LOCKS); Bson globalFilter = Filters.eq(CONSTANTS_FD_GLOBAL, instanceId); Bson instIdFilter = Filters.eq("identifier", identifier); DeleteResult result = collection.deleteOne(Filters.and(globalFilter, instIdFilter)); if (result.getDeletedCount() == 0) { logger.warn("Error occurred while unlocking transaction(gxid= {}).", instanceId); } } catch (RuntimeException rex) { logger.error("Error occurred while unlocking transaction(gxid= {})!", instanceId, rex); } }
@Override public Object execute(Query query) { String collectionName = method.getEntityInformation().getCollectionName(); Class<?> type = method.getEntityInformation().getJavaType(); if (method.isCollectionQuery()) { return operations.findAllAndRemove(query, type, collectionName); } DeleteResult writeResult = operations.remove(query, type, collectionName); return writeResult != null ? writeResult.getDeletedCount() : 0L; } }
if (failMode && result.getDeletedCount() == 0) { session.transfer(flowFile, REL_FAILURE); } else {
private void executeDelete(@Nullable final ClientSession clientSession, final BsonValue id) { DeleteResult result; if (clientSession != null) { result = filesCollection.deleteOne(clientSession, new BsonDocument("_id", id)); chunksCollection.deleteMany(clientSession, new BsonDocument("files_id", id)); } else { result = filesCollection.deleteOne(new BsonDocument("_id", id)); chunksCollection.deleteMany(new BsonDocument("files_id", id)); } if (result.wasAcknowledged() && result.getDeletedCount() == 0) { throw new MongoGridFSException(format("No file found with the id: %s", id)); } }
@Override public long delete(Map<String, Object> query) { DeleteResult result = collection.deleteMany(new Document(query)); return result.wasAcknowledged() ? result.getDeletedCount() : -result.getDeletedCount(); }
@Override public Object execute(Query query) { String collectionName = method.getEntityInformation().getCollectionName(); Class<?> type = method.getEntityInformation().getJavaType(); if (method.isCollectionQuery()) { return operations.findAllAndRemove(query, type, collectionName); } DeleteResult writeResult = operations.remove(query, type, collectionName); return writeResult != null ? writeResult.getDeletedCount() : 0L; } }
@Override protected int deleteSplitDocuments() { Bson query = createQuery(gcTypes, sweepRevs, oldestRevTimeStamp); if(LOG.isDebugEnabled()){ //if debug level logging is on then determine the id of documents to be deleted //and log them logSplitDocIdsTobeDeleted(query); } return (int) getNodeCollection().deleteMany(query).getDeletedCount(); } }
@ManagedOperation(description = "Remove the key from the store") @Override public boolean remove(E key) { Document document = new Document("_id", key); DeleteResult res = collection.deleteOne(document); return res.getDeletedCount() > 0; }
private boolean deleteTableMetadata(SchemaTableName schemaTableName) { String schemaName = schemaTableName.getSchemaName(); String tableName = schemaTableName.getTableName(); MongoDatabase db = client.getDatabase(schemaName); if (!collectionExists(db, tableName)) { return false; } DeleteResult result = db.getCollection(schemaCollection) .deleteOne(new Document(TABLE_NAME_KEY, tableName)); return result.getDeletedCount() == 1; }
@Override public void remove(LoginSessionToken loginSessionToken) { FindIterable<Document> refreshTokens = collection.find(new Document("sessionId", loginSessionToken.getValue())); for (Document refreshToken : refreshTokens) { String refreshTokenId = refreshToken.getString("_id"); DeleteResult result = collection.deleteMany(new Document("refreshTokenRef", refreshTokenId)); LOG.debug("delete login session {} : {} access tokens", loginSessionToken.getValue(), result.getDeletedCount()); } DeleteResult result2 = collection.deleteMany(new Document("sessionId", loginSessionToken.getValue())); LOG.debug("delete login session {} : {} refresh tokens", loginSessionToken.getValue(), result2.getDeletedCount()); }
@Test public void testRemoveReturnsModifiedDocumentCount() { collection.insertOne(json("")); collection.insertOne(json("")); DeleteResult result = collection.deleteMany(json("")); assertThat(result.getDeletedCount()).isEqualTo(2); result = collection.deleteMany(json("")); assertThat(result.getDeletedCount()).isEqualTo(0); }
@Override public int sweep() throws IOException { Bson query = getBlobQuery(null, minLastModified); long num = getBlobCollection().deleteMany(query).getDeletedCount(); minLastModified = 0; return (int) num; }
private <T> OpResult removeObject(MongoCollection<Document> collection, String nameField, String name) { BsonDocument filter = new BsonDocument(); filter.append(nameField, new BsonString(name)); DeleteResult dr = collection.deleteOne(filter); OpResult result = new OpResult(); result.code = 200; result.message = String.format(" %d config item removed!", dr.getDeletedCount()); return result; }
@Override public void delete(Query query) throws CatalogDBException { QueryResult<DeleteResult> remove = jobCollection.remove(parseQuery(query, false), null); if (remove.first().getDeletedCount() == 0) { throw CatalogDBException.deleteError("Job"); } }
@Override public void delete(Query query) throws CatalogDBException { QueryResult<DeleteResult> remove = sampleCollection.remove(parseQuery(query, false), null); if (remove.first().getDeletedCount() == 0) { throw CatalogDBException.deleteError("Sample"); } }