database - БД¶
Database¶
- class
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 - более полная валидация
SystemJS¶
- class
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
()¶ Вовзращает список имен функции БД
-