Doc fixes, thanks @3Inc
Author: Slam <3lnc.slam@gmail.com> Date: Fri Nov 28 13:10:38 2014 +0200
This commit is contained in:
		| @@ -23,21 +23,32 @@ arguments should be provided:: | ||||
|  | ||||
|     connect('project1', username='webapp', password='pwd123') | ||||
|  | ||||
| URI style connections are also supported - just supply the uri as | ||||
| URI style connections are also supported -- just supply the URI as | ||||
| the :attr:`host` to | ||||
| :func:`~mongoengine.connect`:: | ||||
|  | ||||
|     connect('project1', host='mongodb://localhost/database_name') | ||||
|  | ||||
| Note that database name from uri has priority over name | ||||
| in :func:`~mongoengine.connect` | ||||
| .. note:: Database, username and password from URI string overrides | ||||
|     corresponding parameters in :func:`~mongoengine.connect`: :: | ||||
|  | ||||
|         connect( | ||||
|             name='test', | ||||
|             username='user', | ||||
|             password='12345', | ||||
|             host='mongodb://admin:qwerty@localhost/production' | ||||
|         ) | ||||
|  | ||||
|     will establish connection to ``production`` database using | ||||
|     ``admin`` username and ``qwerty`` password. | ||||
|  | ||||
| ReplicaSets | ||||
| =========== | ||||
|  | ||||
| MongoEngine supports :class:`~pymongo.mongo_replica_set_client.MongoReplicaSetClient`. | ||||
| To use them, please use a URI style connection and provide the `replicaSet` name in the | ||||
| connection kwargs. | ||||
| MongoEngine supports | ||||
| :class:`~pymongo.mongo_replica_set_client.MongoReplicaSetClient`. To use them, | ||||
| please use an URI style connection and provide the ``replicaSet`` name | ||||
| in the connection kwargs. | ||||
|  | ||||
| Read preferences are supported through the connection or via individual | ||||
| queries by passing the read_preference :: | ||||
| @@ -77,36 +88,38 @@ to point across databases and collections.  Below is an example schema, using | ||||
|             meta = {"db_alias": "users-books-db"} | ||||
|  | ||||
|  | ||||
| Switch Database Context Manager | ||||
| =============================== | ||||
|  | ||||
| Sometimes you may want to switch the database to query against for a class | ||||
| for example, archiving older data into a separate database for performance | ||||
| reasons. | ||||
| Context Managers | ||||
| ================ | ||||
| Sometimes you may want to switch the database or collection to query against | ||||
| for a class. | ||||
| For example, archiving older data into a separate database for performance | ||||
| reasons or writing functions that dynamically choose collections to write | ||||
| document to. | ||||
|  | ||||
| Switch Database | ||||
| --------------- | ||||
| The :class:`~mongoengine.context_managers.switch_db` context manager allows | ||||
| you to change the database alias for a given class allowing quick and easy | ||||
| access to the same User document across databases:: | ||||
| access the same User document across databases:: | ||||
|  | ||||
|         from mongoengine.context_managers import switch_db | ||||
|     from mongoengine.context_managers import switch_db | ||||
|  | ||||
|         class User(Document): | ||||
|             name = StringField() | ||||
|     class User(Document): | ||||
|         name = StringField() | ||||
|  | ||||
|             meta = {"db_alias": "user-db"} | ||||
|         meta = {"db_alias": "user-db"} | ||||
|  | ||||
|         with switch_db(User, 'archive-user-db') as User: | ||||
|             User(name="Ross").save()  # Saves the 'archive-user-db' | ||||
|     with switch_db(User, 'archive-user-db') as User: | ||||
|         User(name="Ross").save()  # Saves the 'archive-user-db' | ||||
|  | ||||
| .. note:: Make sure any aliases have been registered with | ||||
|     :func:`~mongoengine.register_connection` before using the context manager. | ||||
|  | ||||
| There is also a switch collection context manager as well.  The | ||||
| :class:`~mongoengine.context_managers.switch_collection` context manager allows | ||||
| you to change the collection for a given class allowing quick and easy | ||||
| access to the same Group document across collection:: | ||||
| Switch Collection | ||||
| ----------------- | ||||
| The :class:`~mongoengine.context_managers.switch_collection` context manager | ||||
| allows you to change the collection for a given class allowing quick and easy | ||||
| access the same Group document across collection:: | ||||
|  | ||||
|         from mongoengine.context_managers import switch_db | ||||
|         from mongoengine.context_managers import switch_collection | ||||
|  | ||||
|         class Group(Document): | ||||
|             name = StringField() | ||||
| @@ -116,3 +129,8 @@ access to the same Group document across collection:: | ||||
|         with switch_collection(Group, 'group2000') as Group: | ||||
|             Group(name="hello Group 2000 collection!").save()  # Saves in group2000 collection | ||||
|  | ||||
|  | ||||
|  | ||||
| .. note:: Make sure any aliases have been registered with | ||||
|     :func:`~mongoengine.register_connection` or :func:`~mongoengine.connect` | ||||
|     before using the context manager. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user