数据库
首页 > 数据库> > 在C#中从mongodb获取单个对象

在C#中从mongodb获取单个对象

作者:互联网

我已经选择了一段使用MongoDB驱动程序的代码来从集合中获取单个对象……这可能不对,可以吗?有没有更好的方法来获得这个?

IMongoCollection<ApplicationUser> userCollection;
....
userCollection.FindAsync(x => x.Id == inputId).Result.ToListAsync().Result.Single();

解决方法:

就在这里.

首先不要使用FindAsync,而是使用Find.在IFindFluent结果上使用SingleAsync扩展方法并等待异步方法中返回的任务:

async Task MainAsync()
{
    IMongoCollection<ApplicationUser> userCollection = ...;

    var applicationUser = await userCollection.Find(_ => _.Id == inputId).SingleAsync();
}

新驱动程序专门使用async-await.不要使用Task.Result阻止它.

标签:c,net,mongodb,mongodb-net-driver,mongodb-csharp-2-0
来源: https://codeday.me/bug/20190713/1446098.html