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 ответ

Решение

По документам о пимонго

Изменит пароль, если имя пользователя уже существует.

Это означает, что вы не создаете нового пользователя, если он уже создан, с помощью этого сценария. Так что нет проблем с дублированием.

Другие вопросы по тегам