Menu Docs
Página inicial do Docs
/
Relational Migrator
/ /

Converter visualizações

Nesta página

  • Sobre esta tarefa
  • Antes de começar
  • Passos
  • Exemplos
  • Próximos passos
  • Saiba mais

O conversor de query pega o SQL para criar a visualização e o converte no MQL equivalente . O conversor de query considera as regras de mapeamento e as transformações de esquema definidas em seu projeto ao converter seu código SQL. Para obter detalhes sobre o processo de conversão, consulte exemplos de visualização de conversão.

  • O conversor de query usa tecnologia de IA que pode não ser capaz de converter query, triggers, pacotes ou procedimentos armazenados longos ou complexos. Algumas queries podem não ser convertidas corretamente, enquanto outras podem não ser convertidas. Para obter mais informações, consulte Informações sobre IA e uso de dados.

  • O conversor de query utiliza o esquema relacional, o esquema MongoDB e as regras de mapeamento em seu projeto atual para determinar como as queries devem ser convertidas. As conversões podem falhar ou estar incorretas se as queries fizerem referência a tabelas que não estão em seu esquema relacional ou se não estiverem mapeadas para as coleções do MongoDB.

  • Queries, triggers, visualizações, pacotes e procedimentos armazenados convertidos são salvos em seu projeto e persistem por meio da importação e exportação do projeto .

  • As queries SQL estão limitadas a 40,000 caracteres de texto.

  • Você pode visualizar o histórico de conversões anteriores no painel Query Converter à esquerda. Cada conversão tem um ícone indicando o resultado da conversão. Se um objeto não tiver um ícone próximo a ele, ainda não foi tentada uma conversão:

    Icon
    Descrição

    Controle giratório

    A conversão agora está sendo executada.

    Marca de verificação verde

    A conversão foi bem-sucedida.

    Ponto de interrogação vermelho

    A conversão falhou na última tentativa.

Sempre revise e teste o código gerado pelo conversor de query antes de implementá-lo em um ambiente de produção.

1

Na guia Code Generation , clique no painel Query Converter .

2
  • Se for a primeira vez que você utiliza o conversor de query em seu projeto, clique em Import From Database.

  • Se o seu projeto já tiver convertido código SQL, clique no botão Manage Database Objects no painel esquerdo.

3
  1. Especifique os detalhes da conexão com seu reconhecimento de data center de origem.

    Para obter detalhes, consulte string de conexão do relational database.

  2. Clique em Connect.

4
  1. No modal Import Database Objects , clique no seu banco de dados.

  2. Clique em ao lado do esquema.

  3. Clique em ícone ao lado de Views.

  4. Para selecionar as visualizações para converter, clique em ao lado do nome de uma visualização. Por padrão, todas as visualizações são selecionadas.

  5. Clique em Save.

5
  1. Clique no nome de uma visualização no painel esquerdo em Views.

    O código SQL é exibido no painel Imported View .

  2. Clique no botão Convert . Aguarde o conversor de query converter seu código.

    O código MongoDB convertido é exibido no painel Converted MongoDB Query .

    Se o conversor de consultas tiver erros, você poderá ver os detalhes no painel Converted MongoDB Query.

  3. Clique em para copiar o código do MongoDB para a área de transferência.

  4. Teste e valide o código MongoDB gerado.

Dica

Você pode usar a caixa de texto Filter para filtrar queries, procedimentos armazenados, triggers, pacotes e visualizações com base no nome do objeto e na sintaxe SQL.

Os exemplos abaixo mostram visualizações PostgreSQL do exemplo de reconhecimento de data center Northwind convertido em código MongoDB.

Se você deseja criar uma visualização MongoDB a partir da query:

  • Copie a sintaxe do aggregation pipeline do comando de agregação.

  • Use a sintaxe do aggregation pipeline com o comando createView shell.

O exemplo a seguir mostra uma visualização de junção interna convertida em MongoDB:

SQL Syntax
sintaxe do MongoDB
SELECT
O.ORDER_ID,
O.CUSTOMER_ID,
O.ORDER_DATE,
OD.UNIT_PRICE,
OD.DISCOUNT
FROM ORDERS AS O
INNER JOIN ORDER_DETAILS AS OD
ON O.ORDER_ID = OD.ORDER_ID;
async function query(db) {
return await db.collection('orders').aggregate(
[
{
$lookup:
{
from: "orderDetails",
localField: "orderId",
foreignField: "orderId",
as: "orderDetails"
},
},
{
$unwind: "$orderDetails",
},
{
$project:
{
orderId: 1,
customerId: 1,
orderDate: 1,
unitPrice: "$orderDetails.unitPrice",
discount: "$orderDetails.discount"
}
}
]
).toArray();
}

O comando shell para criar essa visualização no MongoDB é:

db.createView("VW_OrderDetails", "orders",
[
{
$lookup:
{
from: "orderDetails",
localField: "orderId",
foreignField: "orderId",
as: "orderDetails"
},
},
{
$unwind: "$orderDetails",
},
{
$project:
{
orderId: 1,
customerId: 1,
orderDate: 1,
unitPrice: "$orderDetails.unitPrice",
discount: "$orderDetails.discount"
}
}
]
)

O exemplo a seguir mostra um grupo agregado por visualização convertido para MongoDB:

SQL Syntax
sintaxe do MongoDB
SELECT
POSTAL_CODE,
COUNT(*) AS CUSTOMERCOUNT
FROM CUSTOMERS
GROUP BY POSTAL_CODE
ORDER BY CUSTOMERCOUNT DESC;
async function query(db) {
return db.collection('customers').aggregate(
[
{
$group:
{
_id: "$postal_code",
customercount: { $sum: 1 }
}
},
{
$sort: { customercount: -1 }
}
]
).toArray();
}

O comando shell para criar essa visualização no MongoDB é:

db.createView("VW_Customers", "customers",
[
{
$group:
{
_id: "$postal_code",
customercount: { $sum: 1 }
}
},
{
$sort: { customercount: -1 }
}
]
)

Voltar

Converter Atlas Triggers