Autogenerated Queries
Writing query documents can get out of control. Djongo does the heavy lifting of creating query documents for you.
MoreDatabase Abstraction
Switch between MongoDB and other SQL databases. Limit the impact to your Models and business logic.
MoreSecurity
Directly saving raw
JSON
into the database is scary. Djongo secures and validates the
JSON
document before saving.
Container Integration
Managed DBs, Storage, Kubernetes, Compute and Virtual Private Cloud (VPC) Integration
MoreRapid Prototyping
Speed up development with schema free models. Enforce protection with evolution.
MoreDjongoCS Containers
Deploy a frustration free Django MongoDB instance on GCP
Deploy a preset Ubuntu webserver instance running MongoDB and Django with the latest version of Djongo.
Focus on developing the models.py and views.py. Let djongo cloud services automate the rest. Manage access keys, modify subscription plans, and request support using the dashboard.
Djongo Commercial License
Deploy
Host closed source applications that use the Djongo package.
Modify
Modify the djongo source code without requiring to open source your modifications.
Sample LicenseRedistribute
Include and redistribute the djongo package without having to open source your own code.
The Djongo commercial license gives an enterprise the freedom to host commercial apps with no restrictions.
Products
Djongo | DjongoCS | Enterprise | |
---|---|---|---|
Create Account | More | ||
Django MongoDB Connector | |||
Virtualized Containers | |||
Latest Updates | |||
Extended Features | |||
Commercial License | |||
Services |
Built for Enterprises
First Access
Djongo packages released to enterprises are compatible with newer versions of Django and MongoDB.
Support
As an enterprise customer, your queries and change requests take top priority.
Secure
Djongo source is open and viewed by hundreds of developers everyday. Reported security vulnerabilities, bugs are rectified and continuously integrated.
Queries
self.db['entry'].aggregate(
[{
'$match': {
'author_id': {
'$ne': None,
'$exists': True
}
}
},
{
'$lookup': {
'from': 'author',
'localField': 'author_id',
'foreignField': 'id',
'as': 'author'
}
},
{
'$unwind': '$author'
},
{
'$lookup': {
'from': 'blog',
'localField': 'blog_id',
'foreignField': 'id',
'as': 'blog'
}
},
{
'$unwind': {
'path': '$blog',
'preserveNullAndEmptyArrays': True
}
},
{
'$addFields': {
'blog': {
'$ifNull': ['$blog', {
'id': None,
'title': None
}]
}
}
},
{
'$match': {
'author.name': {
'$eq': 'Paul'
}
}
},
{
'$project': {
'id': True,
'blog_id': True,
'author_id': True,
'content': True,
'blog.id': True,
'blog.title': True
}
}]
qs = Entry.objects.filter(author__name='Paul').select_related('blog')
Djongo generates complex, error free, aggregation queries automatically.
It takes the query on the top and automatically generates the pymongo query document as the output.
Prototyping
Set enforce_schema to True in settings.py to enable schema checks at the database level.
Security and Integrity Checks
def script_injection(value):
if value.find('<script>') != -1:
raise ValidationError(_('Script injection in %(value)s'),
params={'value': value})
class Entry(models.Model):
homepage = models.URLField(validators=[URLValidator,
script_injection])
Djongo performs checks on data fields before they are saved to the database.
Define custom validators or use builtin validators to check the data. Validation is triggered prior to writing to the database.
Running integrity checks and field value validators ensures protect from garbage data.
Djongo
Djongo is a unified approach to database interfacing. It is an extension to the
Django ORM
framework but maps python objects to MongoDB documents.
Constructing queries using Djongo is
much easier
compared to writing lengthy Pymongo query documents.
Storing raw
JSON
emitted by the frontend directly into the database is scary. Djongo ensures that
only clean data
gets through.
You no longer
need to use the shell to inspect your data. By using the
Admin
package, you can access and
modify data directly from the browser.
Djongo includes handy UI elements that help represent MongoDB documents on the browser.
Compatibility Matrix
Djongo on Github | DjongoCS | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Latest updates | Extended features | |||||||||
Djongo version | 1.3.4 | 1.3.4 | 1.3.6 | 1.3.6 | 1.3.7 | 1.3.7 | 1.3.7 | 1.3.7 | 1.3.7 | 1.3.7 |
Django version | 2.2.28 | 2.2.28 | 3.1.12 | 3.1.14 | 2.2.28 | 3.1.12 | 3.1.14 | 2.2.28 | 3.1.12 | 3.1.14 |
Pymongo version | 3.7.0 | 3.11.4 | 3.11.4 | 3.11.4 | 3.7.0 | 3.11.4 | 3.11.4 | 3.7.0 | 3.11.4 | 3.11.4 |
Mongodb fields | ||||||||||
Django boot support | ||||||||||
Django migrations | ||||||||||
Django contrib support | ||||||||||
Basic operations | ||||||||||
Advanced operations | ||||||||||
Special keywords | ||||||||||
Schema generation |