如果成功更新,如何检查MongoDB C#驱动程序

本文关键字:检查 MongoDB 驱动程序 更新 成功 何检查 如果 | 更新日期: 2023-09-27 18:29:45

我使用以下代码使用MongoDB C#驱动程序更新数据:

public async Task<bool> UpdateFirstName(string id, string firstName)
    {
        await Collection.UpdateOneAsync(Builders<User>.Filter.Eq(
            "_id", new ObjectId(id)),
            Builders<User>.Update.Set("firstName", firstName)
            .CurrentDate("lastUpdatedDate"));
    }

这个方法返回"bool",因为我想知道数据是否已经成功更新。这将是用于检查数据是否已成功更新的伪代码:

    if (data updated successfully)
    {
        return true;
    }
    else
    {
        return false;
    }

有人知道如何编写代码来检查数据是否成功更新吗?谢谢

如果成功更新,如何检查MongoDB C#驱动程序

如果执行了该方法,则完成了更新,否则该方法将抛出异常-在异步的情况下,重要的是不要忘记等待(因为使用没有等待的异步方法无法确保应用程序停留足够长的时间来检索异常)

UpdateOneAsync的返回值为UpdateResult?,这使您可以访问ModifiedCount。当您更新One时,一个更大的0检查就足够了。

 var response =  await Collection.UpdateOneAsync(Builders<User>.Filter.Eq(
        "_id", new ObjectId(id)),
        Builders<User>.Update.Set("firstName", firstName)
        .CurrentDate("lastUpdatedDate"));
 if response.ModifiedCount > 0 {
 // success
 }
 // failed

如果更新未得到确认,这将引发异常。