$ тип (агрегация) в MongoDB - PullRequest
0 голосов
/ 03 мая 2020

Я проверяю типы данных одного поля в нескольких документах, принадлежащих коллекции. К счастью, 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 в функции агрегирования ,

С наилучшими пожеланиями

...