2015-07-20 68 views
0

我目前正在創建一個Java應用程序,它與MongoDB連接並執行各種數據庫操作,例如查找,插入和從應用程序更新。MongoDB Java列出所有數據庫用戶

我創建了一個對話框,用戶可以添加多個用戶(using method addUser(String username, char[] passwd, boolean readOnly))同時具有讀取和讀取角色。我希望能夠通過單擊此對話框中的按鈕來列出所有用戶,然後右鍵單擊特定用戶以便能夠刪除用戶。 (using method removeUser(String username))

問題是,經過在網絡上的幾個研究,我找不到任何庫提供這種方法(返回所有用戶),或者我不知道如何得到這個結果。

這是一項任務,但它不是一個具體的問題,因爲任務與數據庫操作更相關。不過,我想添加這個功能,因爲它會很酷。任何幫助是極大的讚賞。

回答

1

admin數據庫的收集​​中列出了所有Mongo用戶帳戶。

查看http://docs.mongodb.org/manual/reference/system-users-collection/的數據格式。

或者您可以使用命令usersInfo

BasicDBObject dbStats = new BasicDBObject("usersInfo", 1); 
CommandResult command = db.command(dbStats); 
System.out.println(command.get("users")); 
BasicDBList users = (BasicDBList) command.get("users"); 
for (Object u : users) { 
    String username = (String) ((BasicDBObject) u).get("user"); 
    System.out.println(username); 
} 
+0

感謝您羅伯特這個工作得很好。你能解釋我將如何返回只有用戶名而不是結果集中的整個文檔。 – user2307236

+0

查看更新的答案 – Robert

相關問題