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, ejemplodb.auth(''admin'', ''test'')
Creo que esto te ayudará a: Administrar usuario y roles en MongoDB
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
omongoose.connect
. - Este usuario existe en
db.system.users
con la funciónreadWrite
. - El usuario
readWrite
solo puede modificar los datos de todas las colecciones que no sean del sistema, la colección system.js