В MongoDB можно задать условие ненулевой длины массива с помощью оператора $ne
(не равно) и оператора $size
(длина массива).
Пример:
db.collection.find({ arrayField: { $ne: [], $exists: true, $ne: null, $size: { $ne: 0 } } });
В этом примере мы ищем документы в коллекции collection
, у которых поле arrayField
не равно пустому массиву ([]
), существует ($exists: true
), не равно null
($ne: null
) и имеет длину не равную нулю ($size: { $ne: 0 }
).
Это условие позволит найти все документы, у которых массив arrayField
содержит хотя бы один элемент.
Примечание: пустой массив []
в MongoDB также считается ненулевой длиной. Если нужно исключить пустой массив из результатов, можно использовать только $ne: []
, без $size
оператора.
Важно помнить, что при выполнении таких запросов необходимо учитывать производительность. Если коллекция содержит большое количество документов и массивов, запрос может занять много времени. В таком случае рекомендуется использовать индексы для ускорения поиска.