Si le faltan campos de clave de fragmento, puede configurar el campo de clave de fragmento en
null. Si desea establecer el campo de clave de partición que falta en un valor que no seanull, consulte Cambiar el valor de la clave de fragmento de un documento.
Para realizar la actualización, puede usar las siguientes operaciones en un mongos:
| | |
|---|
| | Se puede utilizar para establecer el valor de clave faltante en null únicamente. Puede realizarse dentro o fuera de una transacción. Se puede realizar como una escritura reintentable o no. Para requisitos adicionales, consulta el comando/método específico.
|
| | Se puede utilizar para establecer el valor de la clave faltante en null o cualquier otro valor. La actualización para establecer los campos clave de partición que faltan debe cumplir uno de los siguientes requisitos: El filtro de la consulta contiene una condición de igualdad en la clave de fragmento completa en la consulta El filtro de la consulta contiene una coincidencia exacta en _id La actualización se dirige a un solo fragmento
Para establecerlo en un valor distinto denull, consulta Cambiar el valor de la clave de partición de un documento. Para requisitos adicionales, consulta el comando/método específico.
|
| | Se puede utilizar para establecer el valor de la clave faltante en null o cualquier otro valor. Al establecer campos de clave de partición faltantes con un método que explícitamente actualiza solo un documento, la actualización debe cumplir con uno de los siguientes requisitos: El filtro de la consulta contiene una condición de igualdad en la clave de fragmento completa en la consulta El filtro de la consulta contiene una coincidencia exacta en _id La actualización se dirige a un solo fragmento
Se devuelven valores clave faltantes cuando se realiza la coincidencia en null. Para evitar actualizar un valor clave que sea null, incluya condiciones de query adicionales según corresponda. Para establecerlo en un valor distinto denull, consulta Cambiar el valor de la clave de partición de un documento. Para requisitos adicionales, consulta el comando/método específico.
|
| | Para establecer un valor null, puede especificar múltiples modificaciones de clave de fragmento en la operación masiva. Al establecer campos de clave de partición faltantes con un método que explícitamente actualiza solo un documento, la actualización debe cumplir con uno de los siguientes requisitos: El filtro de la consulta contiene una condición de igualdad en la clave de fragmento completa en la consulta El filtro de la consulta contiene una coincidencia exacta en _id La actualización se dirige a un solo fragmento
Para establecerlo en un valor distinto denull, consulta Cambiar el valor de la clave de partición de un documento. Para requisitos adicionales, consulte el comando/método subyacente.
|
Considere una colección sales fragmentada en el campo location. Algunos documentos de la colección no tienen el campo location. Un campo faltante se considera igual a un valor nulo. Para establecer explícitamente estos campos como null, ejecute el siguiente comando:
| db.sales.updateOne( |
| { _id: 12345, location: null }, |
| { $set: { location: null } } |
| ) |
Al establecer campos de clave de partición faltantes con db.collection.updateOne() u otro método que actualice explícitamente solo un documento, la actualización debe cumplir uno de los siguientes requisitos:
El filtro de la consulta contiene una condición de igualdad en la clave de fragmento completa en la consulta
El filtro de la consulta contiene una coincidencia exacta en _id
la actualización está dirigida a una única partición