Menu Docs
Página inicial do Docs
/
Sincronização de Cluster-to-Cluster do MongoDB
/ /

Filtragem de documentos

Nesta página

  • Sintaxe
  • Campos de parâmetros
  • Limitações
  • Exemplos
  • Comece o mongosync com um filtro de documento
  • Saiba mais

Importante

Programa beta de sincronização de cluster para cluster

Este recurso está disponível apenas em mongosync beta. Para saber mais, consulte Programa Beta de Cluster-to-Cluster Sync.

A partir de mongosync beta 1.8, você pode migrar documentos seletivamente com base em condições específicas. Para limitar ainda mais quais documentos migram para o cluster de destino, você pode combinar a filtragem de documentos e a filtragem de namespace.

Para usar a filtragem de documentos, o cluster de origem e o cluster de destino devem usar uma versão compatível do MongoDB.

O ponto de extremidade da API start aceita um parâmetro documentFilter opcional com a seguinte sintaxe:

"documentFilter" : {
"field" : <field-name>,
"matchValues" : [<field-values>]
}
Campo
Tipo
necessidade
Descrição
field
String
Obrigatório
Nome do campo
matchValues
Array
Obrigatório
Valor(s) de campo que um documento deve ter para migrar.
  • field os nomes não podem conter pontos (.) ou cifrões ($).

  • matchValues os itens da array podem ser os seguintes tipos de BSON:

    • Todos os tipos de números

    • Binário

    • Booleanos

    • Data hora

    • ObjectID

    • Strings

  • Os documentos não devem entrar ou sair do filtro durante a migração.

  • Se o filtro de documentos contiver uma string e pelo menos uma coleção migrada com agrupamento não padrão, mongosync falhará imediatamente.

  • Se você chamar o endpoint da API de progresso e usar umfiltro de documentos , o campo de resposta estimatedTotalBytes retornará null.

  • O cluster de destino não deve conter dados preexistentes que correspondam ao filtro.

  • Você não pode especificar um filtro de documento e definir o sinalizador reversible como true.

O exemplo a seguir inicia uma tarefa de sincronização entre cluster0 e cluster1. O cluster de origem é cluster0 e o cluster de destino é cluster1.

cluster0 contém o banco de dados travel , que inclui as collections restaurants, attractions e lodging . Todos os documentos nas coleções restaurants, attractions e lodging contêm um campo city .

O documento documentFilter neste exemplo filtra documentos onde o campo city é Los Angeles, New York ou San Francisco.

"documentFilter" : {
field : "city",
matchValues: [ "Los Angeles", "New York", "San Francisco" ]
}

Voltar

Migrações de muitos para um