Можно ли передать список идентификаторов (строку) в метод удаления для MongoDB? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть список идентификаторов, которые необходимо удалить.Я получаю свою коллекцию из базы данных и передаю ей ресурс.Из которого я хочу выполнить итерацию по коллекции и удалить список передаваемых идентификаторов.

До того, как я удалял записи с помощью фильтра, мне больше не нужно искать идентификатор, так как сейчас я передаю список идентификаторов..

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();
    }

Я ожидаю удаления документов, связанных с переданными идентификаторами.

1 Ответ

2 голосов
/ 09 апреля 2019

Чтобы удалить несколько документов, вы можете создать условие фильтрации на основе Ids, используя оператор $ in .Пожалуйста, помните о awaiting Асинхронных функциях,

var filter = Builders<BsonDocument>.Filter.In(f => f["_id"], Ids);
await collection.DeleteManyAsync(filter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...