Для фильтрации результатов запроса в 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.