Список пользователей для определенной базы данных с помощью PyMongo
То, что я пытаюсь добиться
Я пытаюсь получить пользователей для определенной базы данных.
Что я сделал до сих пор
Я смог найти функцию для перечисления баз данных или создания пользователей, но ни один из них не перечислял пользователей, я думал о вызове произвольной команды, такой как show users
но я мог найти любой способ сделать это.
Текущий код
#/usr/bin/python from pymongo import MongoClient client = MongoClient("localhost",27017) db = client.this_mongo
Методом проб и ошибок
Я могу видеть имена БД и печатать их, но не более того:
db_names = client.database_names() #users = db.command("show users") for document in db_names: print(document) #cursor = db.add_user('TestUser','Test123',roles={'role':'read'})
Если бы была только функция, которая могла бы получить пользовательский курсор, чтобы я мог перебирать его, было бы здорово.
РЕДАКТИРОВАТЬ
Рабочее решение
#/usr/bin/python from pymongo import MongoClient client = MongoClient("localhost",27017) db = client.this_mongo # This is the line I added with the help of @salmanwahed listing = db.command('usersInfo') for document in listing['users']: print document['user'] +" "+ document['roles'][0]['role']
Спасибо всем и @salmanwahed специально!
- Mongo: объединение AND и OR
- Django и разработка приложения с занятиями в тренажерном зале
- Зависимость круговой модели Django
- Есть ли ограничение на количество таблиц, которые может иметь база данных PostgreSQL?
- Почему я получаю эту ошибку в монгольском запросе?
Вы можете выполнить команду usersInfo
для извлечения данных пользователей. Подобно:
db.command('usersInfo')
Он вернет вам результат следующим образом: (я создал testingdb
для тестирования)
{u'ok': 1.0, u'users': [{u'_id': u'testingdb.TestUser', u'db': u'testingdb', u'roles': [{u'db': u'testingdb', u'role': u'read'}], u'user': u'TestUser'}]}
- Вставка MongoDB повышает повторяемость ключа
- Django / SQL: отслеживание того, кто читает что на форуме
- SqlAlchemy IntegrityError
- Pymongo $ addToSet не работает
- Как преобразовать int в базу 9, без 0?
- Как сопоставить один класс с несколькими таблицами с SQLAlchemy?
- Обновление Pymongo: возможно ли вставить поле с '$ currentDate' только один раз?
- SQLAlchemy – самореляционное отношение Many-to-many с дополнительным столбцом
- Очистка вложенных операторов re.sub