>use admin
>db.addUser({user:'name', pwd:'password', roles:['роли как выше']})
import pymongo
from pymongo import MongoClient
client = MongoClient('52.74.129.134', 27017)
client.admin.authenticate('admin', 'dashboard')
print(client.admin.collection_names())
print(client.database_names())
[u'system.indexes', u'system.users']
raise OperationFailure(msg % errmsg, code, response)
pymongo.errors.OperationFailure: command SON([('listDatabases', 1)]) on namespace admin.$cmd failed: unauthorized
def dict_field(value):
return str(value)
у меня имеются два удаленных сервера. на одной база "test_db" и на другой. Мне надо скопировать содержимое базы с одного сервера на вторую. я создал пользователя root в базе admin на обеих серверах. Указал им права "readWrite", "userAdmin", "dbAdmin", "readWriteAnyDatabase", "userAdminAnyDatabase", "dbAdminAnyDatabase". На этим базам (test_db) указал пользователя "user" с правами "read". При попытке скопировать данные с включенным "auth=true" ничего не выходит, а при отключенном "#auth=true" все копируется. Не знаете в чем может быть проблема? Может прав указал не достаточно?
Ниже кусок кода pymongo: