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

Array incorporada

Nesta página

  • Sobre esta tarefa
  • Passos
  • Exemplo

Use a regra de mapeamento Embedded array para inserir os valores da tabela filho como elementos de array em documentos na coleção mapeada para a tabela pai. A regra de mapeamento Embedded array é uma opção avançada de regra de mapeamento. Deve ser explicitamente adicionado a um modelo de mapeamento.

  • A regra de mapeamento Embedded array estará disponível se a tabela relacional da qual ela está mapeando estiver no lado de muitos do relacionamento de chave estrangeira.

  • A tabela que contém a chave primária também deve ser mapeada para uma collection no modelo MongoDB.

1
  1. No painel Schema model esquerdo, clique em uma coleção sob o cabeçalho MongoDB ou Relational .

    Isso solicita que o painel Mappings seja aberto à direita da tela.

2
  1. Na tela Mapping , clique em + Add para criar uma nova regra de mapeamento ou clique em ícone para editar uma regra existente.

  2. Selecione Embedded array em Migrate table as.

3
  1. Selecione o nome do Source table ou Parent collection no menu suspenso.

  2. Configure o caminho raiz:

    • Prefix: especifica a hierarquia de regras.

    • Field name: especifica o campo contendo a array ou documento incorporado.

4

Permite selecionar em qual chave estrangeira incorporar quando houver mais de uma chave estrangeira entre duas tabelas. Esta opção aparece somente para tabelas ou collections com vários links de chave estrangeira.

  1. Selecione o nome da chave externa a ser incorporada no menu suspenso Foreign key link .

5

Permite incluir explicitamente linhas onde uma expressão retorna true. Isso difere dos filtros de tabela, que filtram com base em uma query SQL e se aplicam a todas as linhas de uma tabela específica. Os filtros de regra de mapeamento se aplicam somente a um mapeamento específico.

  1. No painel Mappings , clique em ícone ao lado de Advanced settings.

  2. Selecione o Add mapping rule filter ícone.

  3. Insira uma expressão de filtro JavaScript válida na caixa de texto Value expression .

6

Permite classificar uma array incorporada e limitar a quantidade de entradas nessa array. Você pode aplicar apenas uma classificação, apenas um limite ou ambos. Ao limitar a uma única entrada, há a opção de incorporar como um documento em vez de uma array de elemento único, selecionando o Create an array of primitive values .

  1. No painel Mappings , clique em ícone ao lado de Advanced settings.

  2. Selecione o Add array conditions ícone.

  3. Insira um filtro na caixa de texto Value expression .

  4. No cabeçalho Sort by and order , selecione o campo de origem para classificar e alterne entre para ascendente e para ordem decrescente.

  5. Selecione uma opção Limit :

    • No limit: No limit

    • Limit number of rows: Insira o número máximo de elementos retornados na array. O valor padrão é 10.

Observação

  • Os campos excluídos não podem ser ordenados. Se um campo de classificação selecionado anteriormente for excluído posteriormente , a condição de array será removida.

  • Se uma array for modificada durante o estágio CDC de um tarefa contínuo , a classificação e a limitação considerarão apenas a linha recém-modificada e os elementos de array pré-existentes, não os outros valores da tabela que não estão na array.

7
  1. Defina as opções para a nova regra de mapeamento. Ao definir as opções de regra de mapeamento, você pode:

    • Altere o nome da coleção.

      Para alterar o nome da coleção, clique na caixa de texto Name e insira o novo nome. Clique fora da caixa de texto para salvar a alteração. Se o nome já estiver em uso, você receberá um erro de validação.

    • Adicionar Campos Calculados para criar novos campos com base em colunas de origem relacional. Consulte Campos calculados para obter mais informações.

    • Alterar nomes de campos.

    • Inclua ou exclua um campo da sua tarefa de sincronização clicando em ao lado do nome do campo.

8
  1. Clique em Save And Close.

Esta seção demonstra a entrada relacional e a saída MongoDB da regra de mapeamento Embedded array .

Neste exemplo:

  • Uma regra de mapeamento Embedded Array é aplicada à tabela Customer .

  • O Source table está definido como Order.

  • O Prefix está definido como (root).

  • O Field Name está definido como orders.

Clique nas guias abaixo para ver a entrada e saída deste exemplo:

Customer tabela:

id
Nome
Endereço1
Endereço2
Endereço3
1
Joelynn Fawthrop
86 Dwight Pass
Carregal
3800-854

Orders tabela:

ID do pedido
CustomerID
Valor total
Status do pedidoID
1
1
50.00
1
4
1
500.00
3

O documento na coleção Customer agora tem os detalhes do Order incorporados como uma matriz de campo de objetos chamado Orders.

Todos os pedidos de clientes agora estão visíveis na coleção Customer como uma array de documentos aninhados.

{
"_id": { "CustomerID": 1 },
"Name": "Joelynn Fawthrop",
"Address1": "86 Dwight Pass",
"Address2": "Carregal",
"Address3": "3800-854",
"Orders":
[
{ "OrderID": 1,
"CustomerID": 1,
"TotalAmount": 50,
"OrderStatusID": 1
},
{ "OrderID": 4,
"CustomerID": 1,
"TotalAmount": 500,
"OrderStatusID": 1
}
]
}

Voltar

Novos documentos