Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Problemas conhecidos do Conector MongoDB para BI

Algumas funções agregadas SQL (como SUM, MIN ou COUNT) retornam NULL se não houver valores correspondentes para essa função agregada. Esta resposta é efetivamente uma linha vazia.

Dada a mesma query SQL exata, o BI Connector não retorna NULL para nenhuma função agregada; ele retorna um conjunto vazio.

Exemplo

Você está analisando o desempenho no teste dos alunos de cada uma das turmas oferecidas no último ano por uma Universidade. Usando o Tableau, você executa uma query SQL para encontrar estatísticas de cada classe, incluindo as pontuações mais altas e mais baixas dos testes, bem como a soma e a contagem de todas as pontuações da classe.

SELECT SUM(scores), COUNT(*), COUNT(scores), MAX(scores), MIN(scores)
FROM students_2019
GROUP BY class;

Infelizmente, você acidentalmente executa a query nos dados das turmas do próximo ano, então não há pontuações de testes para a query encontrar.

Se os dados do aluno fossem armazenados no MySQL, essa query retornaria uma única linha com NULL valores para campos que são calculados com as funções SUM , MAX e MIN e 0 para campos que são calculados com a função COUNT .

SELECT SUM(scores), COUNT(*), COUNT(scores), MAX(scores), MIN(scores)
FROM students_2019
GROUP BY class;
+-------------+----------+---------------+-------------+-------------+
| sum(scores) | count(*) | count(scores) | max(scores) | min(scores) |
+-------------+----------+---------------+-------------+-------------+
| NULL | 0 | 0 | NULL | NULL |
+-------------+----------+---------------+-------------+-------------+

Se os dados do aluno fossem armazenados no MongoDB e acessados por meio do BI Connector, essa query retornaria um conjunto vazio.

SELECT SUM(scores), COUNT(*), COUNT(scores), MAX(scores), MIN(scores)
FROM students_2019
GROUP BY class;
Empty set (0.00 sec)

Pode ocorrer um erro de mapeamento conhecido que faz com que o BI Connector retorne todos os valores NULL . Esse erro ocorre quando você faz uma query em uma collection que contém um campo de array que pode ser NULL, e a mesma array contém um campo adicional que também pode ser NULL. Uma solução alternativa para esse erro é criar uma exibição com o filtro $match que retorna apenas documentos em que o campo $type seja array com o método createView .

Exemplo

Para uma collection denominada nextDeparture com um campo de array denominado response.schedule que às vezes é NULL, você pode criar a seguinte visualização:

db.createView("nextDeparture_view", "nextDeparture", [
{
"$project": {
"response": { "$cond": { "if": { "$eq": ["$response.schedule", null] },
"then": { }, "else": "$response" } }, "name": 1
}
} ])