在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