Search code examples
c#mongodbasp.net-web-api2mongodb-.net-driver

DeleteOneAsync and writeConcernResult.DocumentsAffected no extension method


I am migrate C# web api 2 to use mongo driver version 2 , here the the code I tried, but I have a problem with using DocumentsAffected no extension method

public Task<bool> RemoveRefreshToken(string refreshTokenId)
        {

            var query = Builders< RefreshToken >.Filter.Where(r => r.Id==refreshTokenId);
            var writeConcernResult = mongoContext.RefreshTokens.DeleteOneAsync(query);
            return Task.FromResult(writeConcernResult.DocumentsAffected == 1);
        }

Do you know what I am missing here?

Thanks


Solution

  • You can use the DeletedCount property of the returned value of type Task<DeleteResult> from DeleteOneAsync(). Use async too on your method headers to make use of asynchronous methods:

    async Task<bool> RemoveRefreshToken(string refreshTokenId)
    {
        var query = Builders< RefreshToken >.Filter.Where(r => r.Id==refreshTokenId);
        var writeConcernResult = await mongoContext.RefreshTokens.DeleteOneAsync(query);
        return Task.FromResult(writeConcernResult.DeletedCount == 1);
    }