Как реструктурировать запрос Mongodb Linq для работы в Cosmos Db? - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть коллекция, которая хранит несколько различных типов, которые все наследуются от BaseEntity, среди которых тип LoginUser. Следующий код в MyQuery

public IMongoQueryable<LoginUser> LoginUserQuery
{
    get
    {
        return _database.GetCollection<BaseEntity>(collectionName).AsQueryable<BaseEntity>().OfType<LoginUser>();
    }
}

void MyQuery()
{
    var user = LoginUserQuery.Where(item => item.SomeProperty == "myemail@example.com").FirstOrDefaultAsync();
}

выдает ошибку

$ match в настоящее время поддерживается только тогда, когда это первый и единственный этап конвейера агрегации. Пожалуйста, измените структуру запроса, чтобы объединить несколько этапов $ match в один этап $ match.

Запрос, как видно из исключения,

{{"aggregate": "eMeetings", "pipe": [{"$ match": {"_t": "LoginUser"}}, {"$ match": {"NormalizedEmail": "myemail @ example .com "}}]," курсор ": {}}}

Можно ли это как-то исправить? Или это будет исправлено этой недавно закрытой проблемой? https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/34115251-add-support-for-match-in-aggregation-pipeline-no

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...