Может ли Pymongo передать все команды mongoshell - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь использовать python для работы с MongoDB. Чтобы быть максимально простым.

Я пытался db.getUser () с Pymongo :

  db = client[database_name]

  db.command("getUsers")

, и я получил следующую ошибку:

pymongo.errors.OperationFailure: no such command: 'getUsers'

Буду признателен, если кто-нибудь проведет меня через !!!

Обратите внимание, что мне уже удалось использовать некоторые собственные команды mongoshell, такие как «createUser», «dropUser», так же, как описано выше.

Бест,

Мехди

1 Ответ

1 голос
/ 01 ноября 2019

Документация mongo гласит:

db.getUser() wraps the usersInfo: <username> command.

Глядя на , документация показывает, что мы можем использовать команду следующим образом:

from pymongo import MongoClient
from bson.json_util import dumps

db = MongoClient()['mydatabase']

# Create a test user
db.command('createUser', 'user', pwd='password', roles=['read'])

command_result = db.command(
    {
        'usersInfo': {'user': 'user', 'db': 'mydatabase'},
        'showPrivileges': True
    }
)
print(command_result)
# Optionally pretty format the output
print(dumps(command_result, indent=4))
...