3

У меня есть следующий пространственный FilterDefinition:MongoDB FilterDefinition & IQueryable в C#

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.

ответ

3

В проекте драйверов .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) есть метод «Где», который позволит вам включить предикат LINQ в обычные запросы поиска/агрегации.

+0

FYI, разрешение фиксированное, статус закрыт –

Смежные вопросы