我正在构建一个继续使用MongoDB 3.4的应用程序
我已经创建了一些工作正常的索引,但是,当我尝试运行查找操作时,操作会永远运行,然后我创建了一个复合索引,其中包含我运行查找查询的两个字段,但仍然没有更改,这是我到目前为止所尝试的:
IMongoCollection<FlightPair> FlightsPair = _db.GetCollection<FlightPair>("Flights");
FlightsPair.Indexes.CreateOne(Builders<FlightPair>.IndexKeys.Ascending(_ => _.Source.ExternalId).Ascending(_ => _.Source.HashCode));
public async Task<FlightPair> GetFlightByHashCodeAndId(string hashCode,string id)
{
return await FlightsPair.Find(x => x.Source.HashCode == hashCode && x.Source.ExternalId == id).FirstOrDefaultAsync();
}
我也试过这个:
var uniqueIdIndex = new CreateIndexOptions();
uniqueIdIndex.Unique = false;
uniqueIdIndex.Sparse = true;
FlightsPair.Indexes.CreateOne(Builders<FlightPair>.IndexKeys.Ascending(_ => _.Source.ExternalId).Ascending(_ => _.Source.HashCode), uniqueIdIndex);
但没有运气 - GetFlightByHashCodeAndId永远不会结束,我缺少什么?
答案 0 :(得分:0)
我发现了问题,这是异步任务,没有任何与mongo相关的内容,感谢您的回复!