grantRolesToRole takes a grantedRoles argument, thusly:
{ grantRolesToRole: "productsReaderWriter",
grantedRoles: [
{ role: "productsReader", db: "products"}
],
writeConcern: { w: "majority" , wtimeout: 5000 }
}
But for 'grantPrivilegesToRole, the argument is not 'grantedPrivileges', but simply 'privileges'.
{ grantPrivilegesToRole: "<role>",
privileges: [
{ resource: { <resource> }, actions: [ "<action>", ... ] },
...
],
writeConcern: <write concern document>
}
Similarly, revokeRolesFromRole has 'revokedRoles', but revokePrivelegesFromRole has just 'privileges'