Я проверяю типы данных одного поля в нескольких документах, принадлежащих коллекции. К счастью, MongoDB имеет документацию, относящуюся к этой теме c MongoLink . Проблема в том, что я не преуменьшаю результат операции агрегации.
Это коллекция
{ _id: 0, a : 8 }
{ _id: 1, a : [ 41.63, 88.19 ] }
{ _id: 2, a : { a : "apple", b : "banana", c: "carrot" } }
{ _id: 3, a : "caribou" }
{ _id: 4, a : NumberLong(71) }
{ _id: 5 }
Это операция агрегирования
db.coll.aggregate([{
$project: {
a : { $type: "$a" }
}
}])
, и результат равен
{ _id: 0, "a" : "double" }
{ _id: 1, "a" : "array" }
{ _id: 2, "a" : "object" }
{ _id: 3, "a" : "string" }
{ _id: 4, "a" : "long" }
{ _id: 5, "a" : "missing" }
Биты, которые я не занижайте: (i) это простая буква «a», а не символ «a» в функции агрегации и (ii) буква «a», которая в результате является предположением, не связана с $ a в функции агрегирования ,
С наилучшими пожеланиями