Deletes all user-defined roles on the database where you run the command.


The dropAllRolesFromDatabase removes all user-defined roles from the database.

The dropAllRolesFromDatabase command takes the following form:

  dropAllRolesFromDatabase: 1,
  writeConcern: { <write concern> },
  comment: <any>

The command has the following fields:

Field Type Description
dropAllRolesFromDatabase integer Specify 1 to drop all user-defined roles from the database where the command is run.
writeConcern document Optional. The level of write concern for the removal operation. The writeConcern document takes the same fields as the getLastError command.
comment any

Optional. A user-provided comment to attach to this command. Once set, this comment appears alongside records of this command in the following locations:

A comment can be any valid BSON type (string, integer, object, array, etc).

New in version 4.4.

Required Access

You must have the dropRole action on a database to drop a role from that database.


The following operations drop all user-defined roles from the products database:

use products
     dropAllRolesFromDatabase: 1,
     writeConcern: { w: "majority" }

The n field in the results document reports the number of roles dropped:

{ "n" : 4, "ok" : 1 }