Драйвер C # MongoDB преобразует запросы базовых массивов в «точечную нотацию», но, к сожалению, CosmosDB не поддерживает этот синтаксис по умолчанию .
В настоящее время я работаю над этой проблемойдобавив дополнительное (бессмысленное) условие к моему запросу, что заставляет использовать $elemMatch
, но я бы предпочел сделать это на уровне конфигурации, если это возможно.
Например.
collection.Find(c => c.Items.Any(i => i.Status == 1));
Сгенерирует запрос:
{"Items.Status": 1}
Но я хочу, чтобы он сгенерировал:
{"Items": { "$elemMatch": { "Status": 1 } } }