Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

Definir campos de chave de fragmentação ausentes

Nesta página

  • Exemplo

Se você tiver campos de chave de shard ausentes, poderá definir o campo de chave de shard como null. Se você quiser definir o campo da chave de shard ausente para um valor diferentenull , consulte Alterar o valor da chave de shard de um documento.

Para realizar a atualização, você pode usar as seguintes operações em um mongos:

Comando
Método
Descrição
update with
multi: true
  • Pode ser usado para definir o valor da chave ausente somente para null.

  • Pode ser executado dentro ou fora de uma transação.

  • Pode ser executada como uma gravação repetível ou não.

  • Para obter requisitos adicionais, consulte o comando/método específico.

update with
multi: false
  • Pode ser usado para definir o valor da chave ausente para null ou qualquer outro valor.

  • A atualização para definir campos de chave de fragmento ausentes deve atender a um dos seguintes requisitos:

    • o filtro da query contém uma condição de igualdade na chave de fragmento completa na query

    • o filtro da query contém uma correspondência exata em _id

    • a atualização tem como alvo um único fragmento

  • Para definir como um valor diferente denull, consulte Alterar o valor da chave de fragmento de um documento.

  • Para obter requisitos adicionais, consulte o comando/método específico.

  • Pode ser usado para definir o valor da chave ausente para null ou qualquer outro valor.

  • Ao definir campos de chave de fragmento ausentes com um método que atualiza explicitamente apenas um documento, a atualização deve atender a um dos seguintes requisitos:

    • o filtro da query contém uma condição de igualdade na chave de fragmento completa na query

    • o filtro da query contém uma correspondência exata em _id

    • a atualização tem como alvo um único fragmento

  • Os valores de chave ausentes são retornados quando correspondem a null. Para evitar a atualização de um valor de chave que é null, inclua condições de query adicionais, conforme apropriado.

  • Para definir como um valor diferente denull, consulte Alterar o valor da chave de fragmento de um documento.

  • Para obter requisitos adicionais, consulte o comando/método específico.

  • Para definir como um valor null , você pode especificar várias modificações da chave de shard na operação em massa.

  • Ao definir campos de chave de fragmento ausentes com um método que atualiza explicitamente apenas um documento, a atualização deve atender a um dos seguintes requisitos:

    • o filtro da query contém uma condição de igualdade na chave de fragmento completa na query

    • o filtro da query contém uma correspondência exata em _id

    • a atualização tem como alvo um único fragmento

  • Para definir como um valor diferente denull, consulte Alterar o valor da chave de fragmento de um documento.

  • Para obter requisitos adicionais, consulte o comando/método subjacente.

Considere uma coleção sales fragmentada no campo location. Alguns documentos da coleção não possuem o campo location . Um campo ausente é considerado igual a um valor nulo para o campo. Para definir explicitamente esses campos como null, execute o seguinte comando:

db.sales.updateOne(
{ _id: 12345, location: null },
{ $set: { location: null } }
)

Ao definir campos de chave de fragmento ausentes com db.collection.updateOne() ou outro método que atualize explicitamente apenas um documento, a atualização deve atender a um dos seguintes requisitos:

  • o filtro da query contém uma condição de igualdade na chave de fragmento completa na query

  • o filtro da query contém uma correspondência exata em _id

  • a atualização tem como alvo um único fragmento

Voltar

Alterar o valor da chave de fragmentação de um documento

Nesta página