У меня есть список идентификаторов, которые необходимо удалить. Я получаю свою коллекцию из базы данных и передаю ей ресурс. Из которого я хочу перебрать коллекцию и удалить список передаваемых идентификаторов.
Раньше я удалял записи с помощью фильтра, но мне больше не нужно искать идентификатор, поскольку теперь я передаю список идентификаторов.
public Task<DataRetentionOperationResult>
DeleteIdentifiedDataAsync(List<String> Ids, String Resource,
CancellationToken cancellationToken = default)
{
var collection = _db.GetCollection<BsonDocument>(Resource);
foreach (var id in Ids)
{
collection.DeleteManyAsync<BsonDocument>(id, cancellationToken);
}
throw new NotImplementedException();
}
Я ожидаю, что документы, связанные с переданными идентификаторами, будут удалены.
Чтобы удалить несколько документов, вы можете создать условие фильтрации на основе Ids
с помощью оператора $in. Пожалуйста, помните о awaiting
асинхронных функциях,
var filter = Builders<BsonDocument>.Filter.In(f => f["_id"], Ids);
await collection.DeleteManyAsync(filter);