Оператор $type в MongoDB используется для поиска документов на основе BSON-типа данных конкретного поля. Он возвращает только те документы, где указанное поле совпадает с заданным типом.
Когда ты используешь $type, MongoDB проверяет фактический тип данных, сохранённый в поле — не само значение. Это особенно полезно, когда в коллекции встречаются несовместимые типы данных в разных документах из-за гибкости схемы.
db.collection.find({ field: { $type: "<BSON type>" } })
Ты можешь указать тип, используя либо строковый алиас типа, либо его числовой BSON-код:
"string" — строковые значения"int" или "long" — целые числа"double" — числа с плавающей запятой"bool" — булевы значения"null" — значения nullНайти документы, где age хранится как число:
db.users.find({ age: { $type: "number" } })
Найти документы, где zipCode хранится как строка:
db.users.find({ zipCode: { $type: "string" } })
Алиас "number" совпадает со всеми числовыми типами (int, long, double, decimal), что делает его удобным сокращением, когда конкретный числовой подтип не важен.
Оператор $type в MongoDB проверяет фактический BSON тип данных поля, а не оценивает само значение поля.
Новый — ещё не проверен сообществом
Вы