pymongo 2.8 - как избежать вставки дубликата пользователя в базу данных администратора
Я пытаюсь написать скрипт на Python для добавления пользователя в MongoDB с помощью pymongo 2.8. Вот мой код:
db = conn['test123']
collection=db['testing']
db1 = conn['admin']
try:
data = db1.add_user('test123user', 'test123pass', roles=[{'role':'readWrite','db':'test123'}])
print("Database with user is created")
except Exception as e:
print("error: Unable to create the user for database ")
raise
Когда я запускаю один и тот же код несколько раз, я не вижу никакой ошибки, как мы видим в оболочке mongo, когда мы вставляем дублирующего пользователя:
2017-01-06T17:29:59.209-0500 E QUERY [thread1] Error: couldn't add user: User "db09user@admin" already exists
Как я могу избежать вставки дублирующих пользователей через pymomgo? Спасибо!
1 ответ
Решение
По документам о пимонго
Изменит пароль, если имя пользователя уже существует.
Это означает, что вы не создаете нового пользователя, если он уже создан, с помощью этого сценария. Так что нет проблем с дублированием.