Я не мог найти что-то подобное, отсюда и вопрос. У меня есть коллекция страниц \ blarg, которая имеет массив категорий. Я хотел бы иметь возможность получить список существующих категорий, и я не хочу делать Map Reduce, поэтому я решил, что я просто вытяну все категории и затем отфильтрую их для уникальности на стороне клиента. Я хотел бы использовать только непустые массивы, поэтому разработал следующий запрос:
{Категории: {$ not {$ size: 0}}}
Однако я не знаю, как скопировать его с помощью драйвера. $ Not принимает значение BsonValue, а $ Size - только целое, я не уверен, как поместить условие $ Size в запрос $ Not. Я подумал, что мог бы использовать QueryDocument или что-то еще, но я не уверен, как эмулировать операторы через анонимные объекты (или, по крайней мере, я не видел никакой документации по нему).
P.S. Я понимаю, что мог бы сделать Query.EQ («Категории», BsonArray.Create (new List ())) или что-то еще, но мне интересен ответ для принципа этого на данный момент, я могу думать о другой сценарий, где я мог бы хотеть любые массивы, в которых есть, например, больше или меньше одной записи.