Mongodb
使用pymongo獲取所有數據庫的所有使用者列表
db.command('usersInfo')
上面的命令給出了執行該命令的數據庫中的使用者列表。
command_result = db.command( { 'usersInfo': {'user': 'user', 'db': 'mydatabase'}, 'showPrivileges': True } )
上面的程式碼提供了有關“mydatabase”數據庫中使用者的資訊。
但我想列出所有數據庫中的所有使用者。誰能告訴我我可以在 python 中使用什麼命令?
s = myclient.admin.command({'usersInfo' :{'forAllDBs: true'}}) print(s)
當我使用上述命令時,出現錯誤。我正在使用
pymongo
.
你可以試試這個:
for (let d of db.adminCommand( { listDatabases: 1 } ).databases ) { db.getSiblingDB(d.name).getUsers() }
這是 mongo shell 中的 javascript 程式碼,將其轉換為 python 應該不是什麼大問題。
你幾乎擁有它……這有效:
s = myclient.admin.command('usersInfo', {'forAllDBs': True}) print(s)