gpt4 book ai didi

.net - C# 中的 MongoDB FilterDefinition 和 IQueryable

转载 作者:可可西里 更新时间:2023-11-01 09:13:01 27 4
gpt4 key购买 nike

我有以下空间 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 库。

最佳答案

从 2.4 开始,您可以使用 Inject() 来完成此操作。

参见:https://mongodb.github.io/mongo-csharp-driver/2.4/apidocs/html/M_MongoDB_Driver_Linq_LinqExtensions_Inject__1.htm

使用提供的示例代码(稍作更正)这将是:

var filter = Builders<Places>
.Filter
.Near(x => x.Point, point, 1000);

return Database
.GetCollection<Places>("Places")
.AsQueryable()
.Where(x => x.StartDate.Date <= date)
.Where(x => x.EndDate.Date >= date)
.Where(x => keys.Contains(selectedKeys))
.Where(x => filter.Inject())
.ToList();

关于.net - C# 中的 MongoDB FilterDefinition 和 IQueryable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35131790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com