Soy nuevo en MongoDB y .js .
Tengo un simple script add_app_user.js con el siguiente contenido:
# MongoDB shell version v4.2.17 # Set the database to 'testdb'. db = db.getSiblingDB('testdb'); # Create new user. db.createUser( { user: "testuser", pwd: "testpass", roles: [ "readWrite" ] } );Esto funciona bien por primera vez (cuando ese usuario no existe).
Necesito hacerlo idempotente.
No pude encontrar un script fácil de entender que verifique la disponibilidad del "usuario de "testuser" en "testdb" y ejecute mi bloque de script solo si falla la verificación.
Prueba esto:
if (db.getUser("testuser") == null) { db.createUser( { user: "testuser", pwd: "testpass", roles: [ "readWrite" ] } ); } NB, por lo general, los usuarios se crean en la base de datos de admin . En realidad, no conozco ninguna razón por la que deban crearse en otro lugar.