Um filtro de regra de mapeamento consiste em uma expressão JavaScript que avalia cada linha de dados de entrada. Os valores de coluna da linha estão disponíveis no objeto columns["<column_name>"]
.
Durante um tarefa de migração, o Relational Migrator avalia a expressão para cada linha:
Se o valor de retorno for
true
, a linha será incluída nos dados migrados.Se o valor de retorno for
false
, a linha será excluída.Se o valor de retorno também não for, a linha será excluída e um erro será registrado durante a migração.
Exemplo
Abaixo está um exemplo de documentos de entrada e expressões JavaScript de regra de mapeamento que filtram os dados.
Filtrar com base no valor do campo
O exemplo a seguir filtra um documento com base em um único valor de campo .
Entrada relacional:
customer_id | empresa_name | endereço | Cidade | postal_code | País | Telefone |
---|---|---|---|---|---|---|
ALFKI | Alfreds Futterkiste | Obere Str. 57 | Frankfurt | 12209 | Alemanha | 030-0074321 |
ANATR | Ana Trujillo Emparedados y helados | Avda. de la Constitución 2222 | México D.F. | 05021 | México | 5-555-4729 |
anton | Antonio Moreno Taquería | Mataderos 2312 | México D.F. | 05023 | México | 5-555-3932 |
Expressão de filtro:
columns["country"] == "Mexico"
Saída do MongoDB :
[ { "customerId": "ANATR", "address": "Avda. de la Constitución 2222", "city": "México D.F.", "companyName": "Ana Trujillo Emparedados y helados", "country": "Mexico", "phone": "5-555-4729", "postalCode": "05021", }, { "customerId": "ANTON", "address": "Mataderos 2312", "city": "México D.F.", "companyName": "Antonio Moreno Taquería", "country": "Mexico", "phone": "5-555-3932", "postalCode": "05023", } ]