database.
Database
(**kwargs)База данных
Возбуждает исключения:
TypeError - если имя не строка
InvalidName -
pymongo.errors.InvalidName
Принимаемые параметры:
client -
pymongo.mongo_client.MongoClient
name - название БД
codec_options -
bson.codec_options.CodecOptions
, необязательныйread_preference - необязательный, настройка чтения
write_concern -
pymongo.write_concern.WriteConcern
, необязательный
>>> import pymongo
>>> connection = pymongo.MongoClient()
>>> db = connection.my_db
>>> db2 = connection['my_db']
client
Возвращает клиента БД
codec_options
Соотвествующее значение, только для чтения
incoming_copying_manipulators
All incoming SON copying manipulators installed on this instance.
incoming_manipulators
All incoming SON manipulators installed on this instance.
name
Название БД
outgoing_copying_manipulators
List all outgoing SON copying manipulators installed on this instance.
outgoing_manipulators
List all outgoing SON manipulators installed on this instance.
read_preference
Соотвествующее значение, только для чтения
system_js
pymongo.database.SystemJS
, хелпер для БД
write_concern
Соотвествующее значение, только для чтения
add_user
(**kwargs)Добавляет нового пользователя.
http://docs.mongodb.org/manual/reference/privilege-documents
name - имя пользователя
password - необязательно, пароль. Не используется с userSource
read_only- необязательно, пользователь может только читать
userSource -
otherDBRoles
roles
Note
есили пользователь существует, меняет ему пароль
authenticate
(kwargs)Авторизация
name - имя пользователя
password - необязательно, пароль пользователя. Не используется с GSSAPI или MONGODB-X509 авторизации.
source - необязательно, БД на которой происходит авторизация
mechanism - необязательно, механизмы авторизации, pymongo.auth.MECHANISMS
authMechanismProperties - необязательно, специфичные параметры для механизма авторизации
Возбуждает исключения:
:py:class::pymongo.errors.PyMongoError
collection_names
(include_system_collections=True)Возвращает список, коллекции БД.
command
(kwargs)Вызывает команду MongoDB. Отправляет запрос в MongoDB и возвращает ответ.
command - команда.
Может быть представлена строкой
>>> db.command('buildinfo') # {buildinfo: 1} >>> db.command('collstats', collection_name) # {collstats: collection_name} >>> db.command('filemd5', object_id, root=file_root) # {filemd5: object_id, root: file_root}Или словарем, тогда она уйдет такой какая есть
>>> db.command({'collstats': 'collection_name'})
value - необязательно, значение используемой командой
check - необязательно, проверить ответ на ошибки
allowable_errors - если check=True то ошибки из этого списка игнорируются
read_preference - читает предпочтения для текущего операции
codec_options
create_collection
(kwargs)Возвращает коллекцию pymongo.collection.Collection
name - название коллекции
codec_options - необязательное, bson.codec_options.CodecOptions
read_preference - необязательное, настрйока чтения
write_concern - необязательное, pymongo.write_concern.WriteConcern
size - начальный размер коллекции в байтах.
capped - булево, ограниченная коллекция
max - максимальное количество объектов в коллекции
Возбуждает исключения:
:py:class::pymongo.errors.CollectionInvalid
current_op
(include_all=False)Возвращает информацию о текущих операциях
dereference
(kwargs)Разименовывает ссылку
dbref - bson.dbref.DBRef
drop_collections
(collection_name)Очищает коллекцию
>>> db.drop_collections('users')
eval
(code, *args)Исполняет JS код в БД
Возбуждает исключения:
:py:class::pymongo.errors.OperationFailure
get_collection
(name, codec_options=None, read_preference=None, write_concern=None)Возвращает коллекцию pymongo.collection.Collection
с указанными настройками.
name - название коллекции
codec_options - опционально, bson.codec_options.CodecOptions
, если None то используется значение из БД
read_preference - опционально, настройки чтения, если None то используется значение из БД
write_concern - опционально, pymongo.write_concern.WriteConcern
, правила записи, если None то используется значение из БД
>>> db.read_preference
Primary()
>>> coll1 = db.test
>>> coll1.read_preference
Primary()
>>> from pymongo import ReadPreference
>>> coll2 = db.get_collection(
... 'test', read_preference=ReadPreference.SECONDARY)
>>> coll2.read_preference
Secondary(tag_sets=None)
logout
()Разавторизация.
profiling_info
()Возвращает список с информацией о профилировщике
profiling_level
()Возвращает уровень логирования БД:
pymongo.SLOW_ONY
remove_user
(user_name)Удаляет пользователя из БД
set_profiling_level
(level, slow_ms=None)Устанавливает уровень профилирования БД.
level - уровень
pymongo.SLOW_ONY
slow_ms - время работы запроса, по истечении которого он все равно запишется в журнал
validate_collection
(name_or_collection, scandata=False, full=False)Валидация коллекции.
Возвращает словарь, с информацией по валидации
name_or_collection - название или сама коллекция
scandata - выполнить доп проверки
full - более полная валидация
database.
SystemJS
(database)Позволяет манипулировать серверным JS кодом.
Создавать экземпляр класса нет необходимости,
т.к. он уже существует в самой БД
pymongo.database.Database.system_js
>>> db.system_js.add1 = "function (x) { return x + 1; }"
>>> db.system.js.find({"_id": "add1"}).count()
1
>>> db.system_js.add1(5)
6.0
>>> del db.system_js.add1
>>> db.system.js.find({"_id": "add1"}).count()
0
list
()Вовзращает список имен функции БД