我具有以下空间FilterDefinition
:
var filter = Builders<MyDocument>
.Filter
.Near(x => x.Point, point, 1000);
有没有办法将其包含在IQueryable
表达式中?
例如,我可能有以下LINQ语句。如何包含以上条件?据我所知,空间查询不支持LINQ。
return Database
.GetCollection<Places>("Places")
.AsQueryable()
.Where(x => x.StartDate.Date <= date)
.Where(x => x.EndDate.Date >= date)
.Where(x => keys.Contains(selectedKeys))
.ToList();
我正在使用新的2.2.2库。
。NET驱动程序jira项目中有一个功能请求:https://jira.mongodb.org/browse/CSHARP-1445。因此,答案目前为否,但希望很快。
但是,FilterDefinitionBuilder(https://github.com/mongodb/mongo-csharp-driver/blob/master/src/MongoDB.Driver/FilterDefinitionBuilder.cs#L1286)上有一个“ Where”方法,使您可以将LINQ谓词包括在常规查找/聚集查询中。
从2.4开始,您可以使用Inject()
完成此操作。