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

Adicionar campos calculados

Nesta página

  • Antes de começar
  • Sobre esta tarefa
  • Passos
  • Exemplos
  • Concatenar strings
  • divisão Strings
  • Substituir strings
  • Verificar valores de string
  • Realizar operações matemáticas
  • Atribuir valores com base em condições lógicas
  • Extrair valores JSON
  • Acessar elementos de array
  • Analisar datas
  • Saiba mais

Os campos calculados permitem criar novos campos em documentos combinando valores de colunas de banco de dados existentes usando expressões JavaScript. Os campo calculados são avaliados cada vez que uma linha é processada durante uma tarefa de sincronização.

Para criar um campo calculado, você deve definir uma regra de mapeamento.

Para criar regras de mapeamento, consulte as seguintes páginas:

  • Criar regras a partir de mapeamentos sugeridos

  • Criar regras para MongoDB

  • Crie regras a partir de relacionamentos

A expressão de campo calculadas acessam valores da linha do reconhecimento de data center de origem atual utilizando a sintaxe columns["<COLUMN_NAME>"].

Ao definir campos calculados e personalizar campos de ID, o Relational Migrator mostra um tipo de dados inicial de default. Quando você executa uma tarefa de sincronização, o Relational Migrator atualiza esse tipo de dados.

  1. Na tela Mapping, clique em um nome de tabela ou collection no painel Schema model ou na exibição do diagrama.

  2. Adicione uma nova regra de mapeamento ou edite uma regra de mapeamento existente.

  3. Clique no ícone + à direita da etiqueta All fields .

  4. Defina um nome para o novo campo na caixa de texto Field Name .

  5. Defina uma expressão JavaScript válida para o novo campo na caixa de texto Value expression .

  6. Clique em Done.

  7. Clique em Save and close.

O novo campo estará visível no MongoDB após a próxima execução da tarefa de sincronização.

Os exemplos a seguir mostram expressões JavaScript que você pode usar em campos calculados:

Combine duas colunas em um único campo.

O exemplo a seguir concatena valores de string das colunas firstName e lastName .

expressão:

columns["firstName"] + ' ' + columns["lastName"]

Entrada:

coluna
Valor
firstName
John
lastName
Smith

Saída:

"John Smith"

Divisão os valores da coluna em uma array com base em um caractere especificado.

O exemplo a seguir faz a divisão da coluna fullName em uma array usando um caractere de espaço como delimitador e retorna o primeiro elemento da array.

expressão:

columns["fullName"].split(' ')[0]

Entrada:

coluna
Valor
fullName
John Doe

Saída:

"John"

Aplique padrões regex para substituir valores de string em uma coluna.

O exemplo abaixo executa uma pesquisa regex sem distinção entre maiúsculas e minúsculas na coluna fullName para a string smith. Se uma correspondência for encontrada, a expressão substituirá a string correspondente por Doe.

expressão:

columns["fullName"].replace(/smith/i, "Doe")

Entrada:

coluna
Valor
fullName
John Smith

Saída:

"John Doe"

Retorne verdadeiro ou falso com base no fato de a coluna conter um valor de string.

O exemplo a seguir retorna true se o valor na coluna fullName incluir a string Smith . Se a coluna fullName não incluir a string Smith , a expressão retornará false .

expressão:

columns["fullName"].includes("Smith")

Entrada:

coluna
Valor
fullName
John Smith

Saída:

true

Execute operações matemáticas em valores de coluna.

O exemplo a seguir multiplica os valores das colunas col1 e col2.

expressão:

columns["col1"] * columns["col2"]

Entrada:

coluna
Valor
coll1
3
coll2
2

Saída:

6

Atribuir valores de coluna com base em condições lógicas.

O exemplo a seguir retorna yes se o valor de col1 for 3, e no se col1 for um valor diferente de 3.

expressão:

columns["col1"] === 3 ? "yes" : "no"

Entrada:

coluna
Valor
coll1
3

Saída:

yes

Acesse dados armazenados como tipo de dados JSON com expressões de campo calculadas. Exige colunas de tipo de dados JSON (Postgres).

O exemplo a seguir retorna o valor do campo state incorporado a partir de valores na coluna Employee .

expressão:

columns["Employee"].Address.state

Entrada:

{
Employee: {
name: "Mark",
Address: {
state: "California"
}
}
}

Saída:

"California"

Acesse os dados armazenados como tipo de dados de matriz com expressões de campos calculados. Requer colunas de tipo de dados de array (Postgres ou MySQL).

O exemplo seguinte retorna o segundo elemento dos valores na coluna myArray .

expressão:

columns["myArray"][1]

Entrada:

coluna
Valor
myArray
[ "a", "b", "c" ]

Saída:

"b"

Analisar uma string de data formatada em ISO8601 em uma data.

O exemplo a seguir converte valores de string da coluna dateAsString em datas.

expressão:

new Date(columns["dateAsString"])

Entrada:

coluna
Valor
dateAsString
"2009/02/11"

Saída:

2009-02-11T0:00:00Z

Voltar

Campos calculados