C# MongoDB 驱动程序会将基本数组查询转换为“点表示法”,但遗憾的是 CosmosDB 默认不支持这种语法。
我目前正在通过在我的查询中添加一个额外的(无意义的)条件来解决这个问题,这会强制使用,$elemMatch
但如果可能的话,我更愿意在配置级别进行。
例如。
collection.Find(c => c.Items.Any(i => i.Status == 1));
将生成查询:
{"Items.Status": 1}
但我希望它生成:
{"Items": { "$elemMatch": { "Status": 1 } } }