Todos os produtos
Search
Central de documentação

DataWorks:Fonte de dados MongoDB

Última atualização: Jun 27, 2026

O DataWorks oferece sincronização bidirecional de dados com o MongoDB. Este tópico descreve os recursos de sincronização de dados do DataWorks para o MongoDB.

Versões compatíveis

Há suporte apenas para as versões 4.x, 5.x, 6.x, 7.x e 8.0 do MongoDB.

Observações de uso

  • Conecte-se a um banco de dados MongoDB usando uma conta criada especificamente para ele. Se você utilizar uma source de dados ApsaraDB for MongoDB, uma conta root será criada por padrão. Por motivos de segurança, não use a conta root ao adicionar uma source de dados MongoDB.

  • Ao utilizar um cluster fragmentado do MongoDB, configure o endereço de um nó mongos para a source de dados. Não configure o endereço de um nó mongod/shard. Caso contrário, a tarefa de sincronização poderá consultar dados apenas do shard especificado, em vez de todo o conjunto de dados. Para obter mais informações sobre mongos e mongod, consulte a documentação do mongos e do mongod.

  • Se a simultaneidade for maior que 1, todos os campos _id na coleção configurada para a tarefa de sincronização devem ter o mesmo tipo de dados. Por exemplo, todos os campos _id devem ser do tipo string ou ObjectId. Do contrário, alguns dados podem não ser sincronizados.

    Nota
    • Quando a simultaneidade é maior que 1, a tarefa é dividida com base no campo _id. Portanto, tipos de dados mistos não são suportados para o campo _id nesse cenário. Se o campo _id contiver vários tipos de dados, defina a simultaneidade como 1 para a sincronização. Para isso, não configure o parâmetro splitFactor ou defina-o como 1.

  • O Data Integration não suporta o tipo array. No entanto, o MongoDB suporta esse tipo e oferece um recurso avançado de indexação. Configure parâmetros específicos para converter strings em arrays do MongoDB. Após a conversão, grave os dados no MongoDB em paralelo.

  • Bancos de dados MongoDB autogerenciados não suportam acesso pela rede pública. O acesso é permitido apenas pela rede interna da Alibaba Cloud.

  • Não há suporte para clusters MongoDB implantados via Docker.

  • Não é possível usar o parâmetro query para ler dados de colunas específicas.

  • Em uma tarefa de sincronização em lote, se o Data Integration não conseguir recuperar a estrutura de campos do MongoDB, ele gerará mapeamentos para seis campos por padrão. Os nomes dos campos são col1, col2, col3, col4, col5 e col6.

  • Durante a execução da tarefa, o comando splitVector é usado por padrão para fragmentar a tarefa. Algumas versões do MongoDB não suportam o comando splitVector, o que pode causar o erro no such cmd splitVector. Para evitar esse erro, clique em ícone image na configuração da tarefa, alterne para o editor de código e adicione o seguinte parâmetro à configuração do MongoDB para impedir o uso do splitVector.

    "useSplitVector" : false

Tipos de campo compatíveis

Tipos de dados do MongoDB compatíveis com o MongoDB Reader

O Data Integration suporta a maioria dos tipos de dados do MongoDB, mas não todos. Verifique se seus tipos de dados são compatíveis.

Ao ler tipos de dados suportados, o Data Integration executa as seguintes operações:

  • Para tipos de dados primitivos, o Data Integration lê automaticamente os dados do caminho correspondente com base no nome do campo configurado no parâmetro column. Para obter mais informações, consulte Apêndice: Script de exemplo e descrição de parâmetros para MongoDB. O Data Integration também converte automaticamente o tipo de dados. Não é necessário especifique a propriedade type para a coluna.

    Tipo

    Leitura em lote (MongoDB Reader)

    Descrição

    ObjectId

    Compatível

    Tipo de ID de objeto.

    Double

    Compatível

    Tipo de número de ponto flutuante de 64 bits.

    Inteiro de 32 bits

    Compatível

    Inteiro de 32 bits.

    Inteiro de 64 bits

    Compatível

    Inteiro de 64 bits.

    Decimal128

    Compatível

    Tipo Decimal128.

    Nota

    Se um campo for configurado como tipo aninhado ou combinado, ele será processado como objeto durante a serialização JSON. Adicione o parâmetro decimal128OutputType e defina-o como bigDecimal para gerar os dados como decimal.

    String

    Compatível

    Tipo string.

    Boolean

    Compatível

    Tipo booleano.

    Timestamp

    Compatível

    Tipo timestamp.

    Nota

    O BsonTimestamp armazena timestamps. Não é necessário considerar o impacto dos fusos horários. Para obter mais informações, consulte Problemas de fuso horário no MongoDB.

    Date

    Compatível

    Tipo data.

  • Para alguns tipos de dados complexos, configure a propriedade type da coluna para realizar processamento personalizado.

    Tipo

    Leitura em lote (MongoDB Reader)

    Descrição

    Document

    Compatível

    Tipo de documento incorporado.

    • Se a propriedade type não estiver configurada, o Document será convertido diretamente por serialização JSON.

    • Se a propriedade type estiver definida como document, o campo será um tipo aninhado. O MongoDB Reader lê as propriedades do Document com base no caminho. Para visualize um exemplo detalhado, consulte Exemplo 2: Análise recursiva de Document aninhado em vários níveis abaixo.

    Array

    Compatível

    Tipo array.

    • Se type estiver definido como array.json ou arrays, os dados serão processados diretamente por serialização JSON.

    • Se type estiver definido como array ou document.array, os elementos serão concatenados em uma string. O separador, especificado na propriedade splitter da coluna, é uma vírgula (,) por padrão.

    Importante

    O Data Integration não suporta o tipo array. No entanto, o MongoDB suporta esse tipo e oferece um recurso avançado de indexação. Configure parâmetros específicos para converter strings em arrays do MongoDB. Após a conversão, grave os dados no MongoDB em paralelo.

Tipo de dados especial do Data Integration: combine

Tipo

Leitura em lote (MongoDB Reader)

Descrição

Combine

Compatível

Tipo de dados personalizado no Data Integration.

Se type estiver definido como combine, o MongoDB Reader remove as chaves correspondentes às colunas configuradas e serializa todas as outras informações de todo o Document em uma saída JSON. Para visualize um exemplo detalhado, consulte Exemplo 1: Uso do tipo combine abaixo.

Mapeamentos de tipos de dados do MongoDB Reader

A tabela a seguir lista os mapeamentos entre os tipos de dados do MongoDB e os tipos de dados do Data Integration para o MongoDB Reader.

Categoria de tipo convertido

Tipo de dados do MongoDB

LONG

INT, LONG, document.INT e document.LONG

DOUBLE

DOUBLE e document.DOUBLE

STRING

STRING, ARRAY, document.STRING, document.ARRAY e COMBINE

DATE

DATE e document.DATE

BOOLEAN

BOOL e document.BOOL

BYTES

BYTES e document.BYTES

Mapeamentos de tipos de dados do MongoDB Writer

Categoria de tipo

Tipo de dados do MongoDB

Inteiro

INT e LONG

Ponto flutuante

DOUBLE

String

STRING e ARRAY

Data e hora

DATE

Booleano

BOOL

Binário

BYTES

Exemplo 1: Uso do tipo combine

O tipo de dados combine do plugin MongoDB Reader permite mesclar vários campos de um documento do MongoDB em uma única string JSON. Por exemplo, suponha que você queira importar campos de três documentos do MongoDB para o MaxCompute. No exemplo a seguir, os campos são representados por chaves em vez de pares chave-valor. Os campos a e b são comuns a todos os três documentos, e x_n é um campo variável.

  • doc1: a b x_1 x_2

  • doc2: a b x_2 x_3 x_4

  • doc3: a b x_5

No arquivo de configuração, especifique explicitamente os campos que exigem mapeamento um para um. Para os campos que deseja mesclar, atribua um novo nome diferente de qualquer nome de campo existente no documento e defina o tipo como COMBINE. O código a seguir fornece um exemplo.

"column": [
{
"name": "a",
"type": "string",
},
{
"name": "b",
"type": "string",
},
{
"name": "doc",
"type": "combine",
}
]

A tabela a seguir mostra a saída final no MaxCompute.

odps_column1

odps_column2

odps_column3

a

b

{x_1,x_2}

a

b

{x_2,x_3,x_4}

a

b

{x_5}

Nota

Após usar o tipo combine para mesclar vários campos em um documento do MongoDB, os campos comuns são excluídos automaticamente quando a saída é mapeada para o MaxCompute. Apenas os campos exclusivos do documento são mantidos.

Por exemplo, a e b são campos comuns em todos os documentos. Depois que os campos no documento doc1: a b x_1 x_2 são mesclados usando o tipo combine, a saída é {a,b,x_1,x_2}. Quando esse resultado é mapeado para o MaxCompute, os campos comuns a e b são excluídos. A saída final é {x_1,x_2}.

Exemplo 2: Análise recursiva de Document aninhado em vários níveis

Se um documento no MongoDB tiver vários níveis de aninhamento, configure o tipo document para analisá-lo recursivamente. O código a seguir fornece um exemplo.

  • Dados de origem no MongoDB:

    {
        "name": "name1",
        "a":
        {
            "b":
            {
                "c": "this is value"
            }
        }
    }
  • Configuração de coluna do MongoDB:

    {"name":"_id","type":"string"}
    {"name":"name","type":"string"}
    {"name":"a.b.c","type":"document"}

    Após concluir a configuração, os campos de origem e destino são mapeados da seguinte forma: _id é mapeado para id, name é mapeado para name e a.b.c é mapeado para c.

Com a configuração anterior, o valor do campo de origem aninhado a.b.c é gravado no campo de destino c. Após a execução da tarefa de sincronização, os dados gravados no destino serão this is value.

Adicionar uma source de dados

Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a source de dados necessária seguindo as instruções em Gerenciamento de fontes de dados. Consulte as descrições de parâmetros no console do DataWorks para entender o significado dos parâmetros ao adicionar uma source de dados.

Desenvolver uma tarefa de sincronização de dados

Para obter informações sobre o ponto de entrada e o procedimento de configuração de uma tarefa de sincronização, consulte os guias a seguir.

Configurar uma tarefa de sincronização em lote para uma única tabela

Configurar uma tarefa de sincronização em tempo real para uma única tabela

Consulte Configurar uma tarefa de sincronização em tempo real para uma única tabela.

Configurar uma tarefa de sincronização para um banco de dados inteiro

É possível configurar tarefas para sincronização em lote, sincronização em tempo real completa e incremental ou sincronização em tempo real de bancos de dados fragmentados para um banco de dados inteiro. Para obter mais informações, consulte Tarefa de sincronização em lote para um banco de dados inteiro e Configurar uma tarefa de sincronização em tempo real para um banco de dados inteiro.

Práticas recomendadas

Perguntas frequentes

Apêndice: Script de exemplo e descrição de parâmetros para MongoDB

Configurar uma tarefa de sincronização em lote usando o editor de código

Para configurar uma tarefa de sincronização em lote usando o editor de código, configure os parâmetros relacionados no script com base nos requisitos unificados de formato de script. Para obter mais informações, consulte Configuração no modo de script. As informações a seguir descrevem os parâmetros que devem ser configurados para fontes de dados ao usar o editor de código para uma tarefa de sincronização em lote.

Exemplo de script do Reader

O script a seguir é um exemplo de job configurado para extrair dados do MongoDB para um ambiente local. Para obter mais informações sobre os parâmetros, consulte as descrições a seguir.

Importante
  • Antes de execute o código, remova os comentários.

  • Não é possível extrair elementos específicos de um array.

{
    "type":"job",
    "version":"2.0",// Version number.
    "steps":[
        {
            "category": "reader",
            "name": "Reader",
            "parameter": {
                "datasource": "datasourceName", // Data source name.
                "collectionName": "tag_data", // Collection name.
                "query": "", // Data filtering query.
                "column": [
                    {
                        "name": "unique_id", // Field name.
                        "type": "string" // Field type.
                    },
                    {
                        "name": "sid",
                        "type": "string"
                    },
                    {
                        "name": "user_id",
                        "type": "string"
                    },
                    {
                        "name": "auction_id",
                        "type": "string"
                    },
                    {
                        "name": "content_type",
                        "type": "string"
                    },
                    {
                        "name": "pool_type",
                        "type": "string"
                    },
                    {
                        "name": "frontcat_id",
                        "type": "array",
                        "splitter": ""
                    },
                    {
                        "name": "categoryid",
                        "type": "array",
                        "splitter": ""
                    },
                    {
                        "name": "gmt_create",
                        "type": "string"
                    },
                    {
                        "name": "taglist",
                        "type": "array",
                        "splitter": " "
                    },
                    {
                        "name": "property",
                        "type": "string"
                    },
                    {
                        "name": "scorea",
                        "type": "int"
                    },
                    {
                        "name": "scoreb",
                        "type": "int"
                    },
                    {
                        "name": "scorec",
                        "type": "int"
                    },
                    {
                        "name": "a.b",
                        "type": "document.int"
                    },
                    {
                        "name": "a.b.c",
                        "type": "document.array",
                        "splitter": " "
                    }
                ]
            },
            "stepType": "mongodb"
        },
        { 
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "common": { 
            "column": { 
                "timeZone": "GMT+0" // Time zone.
            } 
        },
        "errorLimit":{
            "record":"0"// Number of error records.
        },
        "speed":{
            "throttle":true,// Specifies whether to enable throttling. If you set this parameter to false, throttling is disabled and the mbps parameter does not take effect. If you set this parameter to true, throttling is enabled.
            "concurrent":1, // Number of concurrent jobs.
            "mbps":"12"// Throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Parâmetro

Descrição

datasource

Nome da source de dados. No editor de código, o valor deste parâmetro deve ser igual ao nome da source de dados adicionada.

collectionName

Nome da coleção do MongoDB.

hint

O parâmetro hint força o otimizador de consultas a usar um índice específico, o que pode melhorar o desempenho. Para obter mais informações, consulte parâmetro hint. Exemplo:

{
"collectionName":"test_collection",
"hint":"{age:1}"
}

column

Array que especifica os campos do documento a serem lidos do MongoDB.

  • name: Nome da column.

  • Tipos suportados para o parâmetro type:

    • string: String.

    • long: Inteiro.

    • double: Número de ponto flutuante.

    • date: Data.

    • bool: Valor booleano.

    • bytes: Sequência binária.

    • arrays: Lido como string JSON, como ["a","b","c"].

    • array: Lido como string com elementos separados pelo splitter, como a,b,c. Recomendamos o uso do formato arrays.

    • combine: Ao usar o plugin MongoDB Reader para ler dados, é possível mesclar vários campos de um documento do MongoDB em uma única string JSON.

  • splitter: O MongoDB suporta o tipo array, mas o framework Data Integration não. Portanto, o tipo array lido do MongoDB deve ser mesclado em uma string usando este separador.

batchSize

Número de registros a serem recuperados em um lote. Parâmetro opcional. Valor padrão: 1000.

cursorTimeoutInMs

Tempo limite do cursor. Parâmetro opcional. Valor padrão: 1000 60 10 = 600000. Se cursorTimeoutInMs for definido como valor negativo, o cursor nunca expirará.

Nota
  • Não recomendamos definir o cursor para nunca expirar. Se o programa cliente encerrar inesperadamente, um cursor que nunca expira permanecerá no servidor MongoDB até que o serviço seja reiniciado.

  • Se ocorrer um tempo limite do cursor, execute as seguintes operações:

    • Diminua o número de registros recuperados em um lote usando o parâmetro batchSize.

    • Aumente o tempo limite do cursor usando o parâmetro cursorTimeoutInMs.

query

Use este parâmetro para filtrar os dados retornados do MongoDB. Apenas os formatos de hora especificados são suportados. O formato de timestamp UNIX não é suportado diretamente.

Nota
  • O parâmetro query não suporta sintaxe JavaScript.

  • A leitura de dados de colunas especificadas não é suportada.

O código a seguir fornece exemplos comuns para o parâmetro query:

  • Consultar dados com status normal.

    {
      ...
      "query":"{ status: "normal"}"
      ...
    }
  • status: "normal"

    {
      ...
      "query":"{ status: { $in: [ "normal", "forbidden" ] }}"
      ...
    }
  • Sintaxe AND: Consultar dados com status normal e idade menor que 30.

    {
      ...
      "query":"{ status: "normal", age: { $lt: 30 }}"
      ...
    }
  • Sintaxe de data: Consultar dados com hora de criação maior ou igual a 2022-12-01 00:00:00.000. +0800 indica o fuso horário UTC+8.

    {
      ...
      "query":"{ createTime:{$gte:ISODate('2022-12-01T00:00:00.000+0800')}}"
      ...
    }
  • Sintaxe de data com espaço reservado para parâmetro de agendamento: Consultar dados com hora de criação maior ou igual a um ponto específico no tempo.

    {
      ...
      "query":"{ createTime:{$gte:ISODate('$[yyyy-mm-dd]T00:00:00.000+0800')}}"
      ...
    }
    Nota

    Para obter mais informações sobre parâmetros de agendamento, consulte Cenários: Cenários típicos de aplicação de parâmetros de agendamento no Data Integration. Para obter informações sobre como implementar sincronização incremental para tarefas em lote, consulte Usar parâmetros de agendamento no Data Integration.

  • Sincronização incremental para campos não temporais.

    Use um nó de atribuição para processar um campo no tipo de dados alvo e passá-lo ao Data Integration para sincronização. Por exemplo, se o campo incremental no MongoDB for um timestamp UNIX, utilize um nó de atribuição para converter um campo do tipo tempo em um timestamp UNIX usando uma função do mecanismo. Em seguida, passe o timestamp para a tarefa de sincronização em lote. Para obter mais informações sobre como usar um nó de atribuição, consulte Nó de atribuição.

Nota

Para obter mais informações sobre a sintaxe de consulta do MongoDB, consulte a documentação oficial do MongoDB.

splitFactor

Se existir distorção severa de dados, considere aumentar o splitFactor para obter fragmentação mais refinada sem aumentar a simultaneidade.

Exemplo de script do Writer

O script a seguir é um exemplo de job de sincronização de dados configurado para gravar dados no MongoDB. Para obter mais informações sobre os parâmetros, consulte as descrições a seguir.

{
    "type": "job",
    "version": "2.0",// Version number.
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "mongodb",// Plugin name.
            "parameter": {
                "datasource": "",// Data source name.
                "column": [
                    {
                        "name": "_id",// Column name.
                        "type": "ObjectId"// Data type. If replaceKey is _id, you must set type to ObjectId. If you set type to string, the replacement fails.
                    },
                    {
                        "name": "age",
                        "type": "int"
                    },
                    {
                        "name": "id",
                        "type": "long"
                    },
                    {
                        "name": "wealth",
                        "type": "double"
                    },
                    {
                        "name": "hobby",
                        "type": "array",
                        "splitter": " "
                    },
                    {
                        "name": "valid",
                        "type": "boolean"
                    },
                    {
                        "name": "date_of_join",
                        "format": "yyyy-MM-dd HH:mm:ss",
                        "type": "date"
                    }
                ],
                "writeMode": {// Write mode.
                    "isReplace": "true",
                    "replaceKey": "_id"
                },
                "collectionName": "datax_test"// Collection name.
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {// Number of error records.
            "record": "0"
        },
        "speed": {
            "throttle": true,// Specifies whether to enable throttling. If you set this parameter to false, throttling is disabled and the mbps parameter does not take effect. If you set this parameter to true, throttling is enabled.
            "concurrent": 1,// Number of concurrent jobs.
            "mbps": "1"// Throttling rate. 1 mbps = 1 MB/s.
        },
       "jvmOption": "-Xms1024m -Xmx1024m"
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros do script do Writer

Parâmetro

Descrição

Obrigatório

Valor padrão

datasource

Nome da source de dados. No editor de código, o valor deste parâmetro deve ser igual ao nome da source de dados adicionada.

Sim

Nenhum

collectionName

Nome da coleção do MongoDB.

Sim

Nenhum

column

Array que especifica os campos do documento a serem gravados no MongoDB.

  • name: Nome da coluna.

  • type: Tipo da coluna.

    • int: Inteiro de 32 bits.

    • string: String.

    • array: O parâmetro splitter é obrigatório. Ele separa a string de origem. Por exemplo:

      Se os dados de origem forem a,b,c e splitter estiver definido como vírgula (,), os dados serão divididos no array ["a","b","c"] e gravados no MongoDB.

      {"type":"array","name":"col_split_array","splitter":",","itemtype":"string"}
      Nota

      Para o tipo array, o parâmetro itemtype suporta os seguintes tipos de enumeração: double, int, long, bool, bytes e string.

    • json: String JSON.

    • long: Inteiro longo.

    • date: Data.

    • double: Número de ponto flutuante.

    Nota

    O MongoDB Writer também suporta a gravação de tipos aninhados. Adicione o prefixo type document. para indicar um tipo aninhado. Configure um nome em cascata para o parâmetro name. Exemplo:

    {"type":"document.string","name":"col_nest.col_string"}
        {"type":"document.array","name":"col_nest.col_split_array","splitter":",","itemtype":"string"}
  • splitter: Separador especial. Use este parâmetro apenas quando uma string precisar ser dividida em um array de caracteres. A string é dividida em um array usando o separador especificado e armazenada no MongoDB.

Sim

Nenhum

writeMode

Especifica se os dados devem ser sobrescritos durante a transmissão. Inclui isReplace e replaceKey:

  • isReplace: Se definido como true, executa operação de sobrescrita para a mesma replaceKey. Se definido como false, nenhuma sobrescrita é executada.

  • replaceKey: Especifica a chave primária de negócios para cada registro, usada para sobrescrita. Várias chaves não são suportadas para replaceKey. Geralmente refere-se à chave primária no MongoDB.

Nota

Se isReplace estiver definido como true e um campo diferente do campo _id for configurado como replaceKey, um erro semelhante ao seguinte poderá ocorrer durante a execução:

After applying the update, the (immutable) field '_id' was found to have been altered to _id: "2"

Isso ocorre porque os dados a serem gravados contêm registros onde o _id não corresponde à replaceKey. Para obter mais informações, consulte as Perguntas frequentes: Erro: After applying the update, the (immutable) field '_id' was found to have been altered to _id: "2".

Não

Nenhum

preSql

Pré-operação a ser executada antes de gravar dados no MongoDB, como limpar dados históricos. Se preSql estiver vazio, nenhuma pré-operação será configurada. Ao configurar preSql, certifique-se de que seu valor esteja em conformidade com a sintaxe JSON.

Não

Nenhum

Ao executar um job do Data Integration, o preSql configurado é executado primeiro. A fase real de gravação de dados começa somente após a conclusão da execução do preSql. O parâmetro preSql não afeta o conteúdo dos dados gravados. O parâmetro preSql fornece execução idempotente para o Data Integration. Por exemplo, seu preSql pode limpar dados históricos antes de cada execução da tarefa com base nas suas regras de negócios. Nesse caso, se uma tarefa falhar, basta reexecutar o job do Data Integration.

Os requisitos de formato para preSql são os seguintes:

  • Configure o campo type para especifique o tipo de pré-operação. Os valores suportados são drop e remove. Exemplo: "preSql":{"type":"remove"}.

    • drop: Exclua a coleção e os dados nela contidos. A coleção a ser excluída é especificada pelo parâmetro collectionName.

    • remove: Exclua dados com base em uma condição.

    • json: Use um objeto JSON para especifique as condições para exclusão de dados. Exemplo: "preSql":{"type":"remove", "json":"{'operationTime':{'$gte':ISODate('${last_day}T00:00:00.424+0800')}}"}. Neste exemplo, ${last_day} é um parâmetro de agendamento do DataWorks no formato $[yyyy-mm-dd]. Também é possível usar outros operadores condicionais suportados pelo MongoDB (como $gt, $lt, $gte e $lte), operadores lógicos (como and e or) ou funções (como max, min, sum, avg e ISODate) conforme necessário.

      O Data Integration executa a exclusão de dados usando a seguinte API padrão do MongoDB:

      query=(BasicDBObject) com.mongodb.util.JSON.parse(json);        
      col.deleteMany(query);
      Nota

      Para exclua dados com base em condições, recomendamos o uso da configuração JSON.

    • item: Configure o nome da coluna (name), a condição (condition) e o valor da coluna (value) para filtragem de dados em um item. Exemplo: "preSql":{"type":"remove","item":[{"name":"pv","value":"100","condition":"$gt"},{"name":"pid","value":"10"}]}.

      O Data Integration constrói uma condição de consulta com base nas condições de item configuradas e executa a exclusão usando uma API padrão do MongoDB. Por exemplo: col.deleteMany(query);.

  • Se o preSql não for reconhecido, nenhuma operação de pré-exclusão será realizada.