可以将 ID 列表(字符串)传递给 MongoDB 的删除方法吗?

我有一个需要删除的 ID 列表。我从数据库中获取我的收藏并将其传递给资源。我想从中遍历集合并删除传递的 ID 列表。


在我使用过滤器删除记录之前,我不再需要搜索 Id,因为我现在正在传递一个 Id 列表。


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

    }

我希望删除与传递的 ID 关联的文档。


皈依舞
浏览 138回答 1
1回答

慕妹3146593

要删除多个文档,您可以基于Ids使用$in运算符构建过滤条件。请记住awaiting异步函数,var&nbsp;filter&nbsp;=&nbsp;Builders<BsonDocument>.Filter.In(f&nbsp;=>&nbsp;f["_id"],&nbsp;Ids); await&nbsp;collection.DeleteManyAsync(filter);
打开App,查看更多内容
随时随地看视频慕课网APP