MongoDB: el argumento para $ size debe ser una matriz, pero era del tipo: EOO

Intentando crear una fuente de datos MongoDB con icCube . La idea es devolver el tamaño de una matriz como un nuevo campo. Algo como :

$project: { "people": 1, "Count myFieldArray" : {$size : "$myFieldArray" } } 

Pero estoy obteniendo para algunos registros el siguiente error:

 The argument to $size must be an Array, but was of type: EOO 

¿Hay alguna manera de que el tamaño sea 0 si el campo está vacío o no es una matriz (eliminando el error)?

Puede usar el operador $ifNull aquí. Parece que el campo no es una matriz o no está presente por el error dado:

 { "$project": { "people": 1, "Count": { "$size": { "$ifNull": [ "$myFieldArray", [] ] } } }} 

También es posible que desee comprobar el $type en su $match en caso de que existan, pero que no sean una matriz.