mongodb - 如何重构 Mongodb Linq 查询以在 Cosmos Db 中工作?
问题描述
我有一个集合,其中存储了几种从 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 阶段。
异常中看到的查询是
{{“聚合”:“eMeetings”,“管道”:[{“$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
解决方案
推荐阅读
- python - 如何加快 Python 中 gzip 文件的处理速度
- jquery - Kendo React UI DataTable Filter 与 JQuery Kendo UI 具有相同的行为
- python - Python 强化学习 - 元组观察空间
- java - 如何为 Android 和 iOS 运行一个功能文件
- java - Java搜索字符串然后复制和替换
- android - 具有约束布局的 ScrollView
- azure - 将 Azure 虚拟网络移动到另一个资源组
- acumatica - 将 PXUIFieldAttribute.SetEnabled 重写为 PXUIEnabledAttribute
- c# - 如何基于反序列化的 json 设置类?
- javascript - 访问 JSON-LD 对象会产生错误是 Google 结构数据测试工具