Mi json para crear un registro en mongodb es el siguiente:
{ 'timestamp': { 'elasticsearch': { 'backup_status': 'string', 'backup_folder': 'string', }, 'mongodb': { 'backup_status': 'string', 'backup_folder': 'string', }, 'postgresdb': { 'backup_status': 'string', 'backup_folder': 'string', }, 'overall_backup_status': 'string', }, };Aquí la clave "marca de tiempo" tiene un valor diferente cada vez, me gustaría que este campo sea único. He intentado consultar varias documentaciones donde veo ejemplos sobre cómo hacer que un campo sea único por su nombre, pero aquí el campo que necesito hacer único no tiene nombre.
No hay una forma integrada de preservar la unicidad en los nombres clave. Lo que sugiero es que mantenga campos adicionales que contengan esos nombres clave, luego puede crear un índice único en él.
por ejemplo, su objeto debería verse así:
{ unique_keys = [ 'elasticsearch.backup_status', 'elasticsearch.backup_folder'], 'timestamp': { 'elasticsearch': { 'backup_status': 'string', 'backup_folder': 'string', }, }, }; En cada actualización, debe mantener el campo unique_keys en consecuencia. Ahora puede crear un índice único en unique_keys , esto lo protegerá de tener duplicados según sea necesario.