update item inc findoneandupdate data mongodb express mongoose

inc - update item mongodb



MongoDB-Cómo agregar el privilegio findandmodify a un usuario (4)

En mi aplicación estoy usando MongoDB como la base de datos y Express + Mongoose para manejar los códigos. He agregado un usuario a la base de datos y dado el rol de readWrite para el usuario, ahora puedo buscar los datos de la base de datos. Pero cuando trato de insertar una colección usando la función de save en Express + Mongoose recibí el siguiente mensaje de error y no pude encontrar cómo agregar el privilegio findandmodify al usuario.

{"name":"MongoError", "ok":0, "errmsg":"not authorized on od-database to execute command { findandmodify: /"identitycounters/", query: { field: /"id/", model: /"Products/" }, new: 1 , remove: 0, upsert: 0, update: { $inc: { count: 1 } } }","code":13}

Por favor, ayúdame.


Intente darle el rol dbAdmin .


O intente deshabilitar la autorización o agregar un usuario que se conecte a la base de datos.
Un ejemplo de agregar un usuario a la base de datos:

db.createUser({ user: "admin", pwd: "test", roles: [ { role: "dbAdmin", db: "shop" } ] })

Dónde:

  • db:"shop" - es la base de datos de nombres
  • pwd: "test" - base de datos de contraseñas
  • user: "admin" - el usuario a través del cual la conexión a la base de datos, ejemplo db.auth(''admin'', ''test'')


readWrite un usuario con la función readWrite para conectar mongoDB la operación de save y findAndModify en documentos que no son del sistema , ambos se podían hacer con éxito.

Por favor asegúrese

  • El nombre de usuario y contraseña correctos para conectar el db en mongoose.createConnction o mongoose.connect .
  • Este usuario existe en db.system.users con la función readWrite .
  • El usuario readWrite solo puede modificar los datos de todas las colecciones que no sean del sistema, la colección system.js