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:
| | |
|---|
| | 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.
|
| | 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