Для фильтрации результатов запроса в MongoDB по типу поля вы можете использовать оператор $type
. Этот оператор позволяет указать тип поля, который вы хотите включить или исключить из результирующего набора данных.
Синтаксис запроса с использованием оператора $type
выглядит следующим образом:
db.collection.find({ field: { $type: <type> } })
Где collection
- это имя коллекции, в которой вы хотите выполнить запрос, field
- имя поля, по которому вы хотите фильтровать, а <type>
- числовой код, представляющий тип данных, который вы хотите включить или исключить.
Вот некоторые распространенные числовые коды типов полей в MongoDB:
1
: Двоичные данные2
: Строка3
: Объект (документ)4
: Массив8
: Логическое значение (булево)9
: Дата16
: 32-битное целое число18
: 64-битное целое число19
: Десятичное число- и другие
Например, чтобы найти все документы в коллекции, где поле age
является числом, вы можете использовать следующий запрос:
db.collection.find({ age: { $type: 16 } })
Если вам нужно найти все документы, где поле name
является строкой, вы можете использовать следующий запрос:
db.collection.find({ name: { $type: 2 } })
Кроме типов полей, которые я указал выше, есть и другие числовые коды, описывающие различные типы данных. Вы можете найти полный список типов полей и их кодов в документации MongoDB.
Запросы с использованием оператора $type
могут быть полезными для фильтрации данных по типу поля, и они позволяют гибко работать с различными типами полей в MongoDB.