Settings¶
Connection Settings¶
Additional flags may be passed to pymongo.Connection using the
OPTIONS dictionary:
DATABASES = {
'default' : {
'ENGINE' : 'django_mongodb_engine',
'NAME' : 'my_database',
...
'OPTIONS' : {
'slave_okay' : True,
'tz_aware' : True,
'network_timeout' : 42,
...
}
}
}
All of these settings directly mirror PyMongo settings. In fact, all Django
MongoDB Engine does is lower-casing the names before passing the flags to
Connection. For a list of possible options head over to the
PyMongo documentation on connection options.
Safe Operations (getLastError)¶
Use the OPERATIONS dict to specify extra flags passed to
Collection.save,
update() or
remove() (and thus to getLastError):
'OPTIONS' : {
'OPERATIONS' : {'w' : 3},
...
}
Since any options to getLastError imply safe=True,
this configuration passes safe=True, w=3 as keyword arguments to each of
save(),
update() and
remove().
Get a more fine-grained setup by introducing another layer to this dict:
'OPTIONS' : {
'OPERATIONS' : {
'save' : {'safe' : True},
'update' : {},
'delete' : {'fsync' : True}
},
...
}
Note
This operations map to the Django operations save, update and delete (not to MongoDB operations). This is because Django abstracts “insert vs. update” into save.
A full list of getLastError flags may be found in the
MongoDB documentation.