motorengine is a port of the incredible mongoengine mapper, using Motor for asynchronous access to mongo.
Find out more by reading motorengine documentation.
Motorengine is a port of MongoEngine for Tornado.
Home Page: http://motorengine.readthedocs.org
motorengine is a port of the incredible mongoengine mapper, using Motor for asynchronous access to mongo.
Find out more by reading motorengine documentation.
Create EmailField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
If kwargs use it to get, otherwise get by id.
Implement __len operator using $size operator as in Implement __gt operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
list_field__len=2
Create BinaryField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Create GenericEmbeddedDocumentField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
It helps a lot that the code in the docs is "live".
Allow users to specify a default alias for a given Document.
Then the connection that has the alias specified by the Document will be used to query for Document instances.
Implement __geo_near operator (for more info on those, check http://docs.mongodb.org/manual/reference/operator/near/#op._S_near)
geo_field__geo_near=(Point(0, 0), 100) # 100 meters of distance from point 0, 0
If no distance is suplied, the default is used (500m):
geo_field__geo_near=Point(0, 0) # 500 meters of distance from point 0, 0
Implement __geo_intersects operator that takes a box, polygon, center or center_sphere (gotta implement helpers for all of those). (for more info on those, check http://docs.mongodb.org/manual/reference/operator/geoWithin/#op._S_geoWithin)
geo_field__geo_intersects=Polygon(Point(0, 0), Point(0, 1), Point (1, 0), Point(1, 1))
Implement __lt operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Create URLField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Implement __lte operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Makes it easier to implement automatically updated fields for dates.
auto_now_on_insert
auto_now_on_update
Allow users to aggregate data using the new Aggregation Pipeline(http://docs.mongodb.org/manual/core/aggregation-pipeline/):
class Product(Document):
type = StringField()
location = StringField()
price = FloatField()
stocked = IntField()
is_active = BooleanField()
Document.objects.filter(is_active=True).order_by("type").aggregate(
group_by=[Document.type, Document.location],
price=Aggregation.add_to_set(Document.price),
stocked=Aggregation.add_to_set(Document.stocked)
)
The types of aggregation are in the following tickets:
Support Building query objects with OR, like this:
query = Query.Or(
field__lt=2,
field__gt=10
)
Document.objects.filter(query)
Implement __ne operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Implement __gt operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Implement __geo_near_sphere operator (for more info on those, check http://docs.mongodb.org/manual/reference/operator/nearSphere/#op._S_nearSphere)
geo_field__geo_near_sphere=(Point(0, 0), 100) # 100 meters of distance from point 0, 0
If no distance is suplied, the default is used (500m):
geo_field__geo_near_sphere=Point(0, 0) # 500 meters of distance from point 0, 0
Implement the max Agggregation as in:
price=Aggregation.max(Document.price)
This translates to aggregation query:
{ $max : "$price" }
As can be seen in http://docs.mongodb.org/manual/reference/aggregation/group/#pipe._S_group.
This ticket is related to #46.
Support Building query objects with OR, like this:
query = Query.And(
field__lt=2,
field__gt=10
)
Document.objects.filter(query)
Implement the last Agggregation as in:
price=Aggregation.last(Document.price)
This translates to aggregation query:
{ $last : "$price" }
As can be seen in http://docs.mongodb.org/manual/reference/aggregation/group/#pipe._S_group.
This ticket is related to #46.
Allow authentication.
Implement __geo_within operator that takes a box, polygon, center or center_sphere (gotta implement helpers for all of those). (for more info on those, check http://docs.mongodb.org/manual/reference/operator/geoWithin/#op._S_geoWithin)
geo_field__geo_within=Polygon(Point(0, 0), Point(0, 1), Point (1, 0), Point(1, 1))
Implement __nin operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Create DecimalField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Create MapField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Create DictField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Implement the first Agggregation as in:
price=Aggregation.first(Document.price)
This translates to aggregation query:
{ $first : "$price" }
As can be seen in http://docs.mongodb.org/manual/reference/aggregation/group/#pipe._S_group.
This ticket is related to #46.
Create FloatField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Implement __gte operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Support querying by sub-documents like this:
class Address(Document):
street = StringField()
number = IntField()
class User(Document):
address = EmbeddedDocument(Address)
User.objects.filter(address__street="Main St")
# or
User.objects.filter(address__number__gt=25)
It should support all available operators.
Support Dynamic documents that are compatible with MongoEngine.
For more info on Dynamic Documents: http://docs.mongoengine.org/en/latest/guide/defining-documents.html#dynamic-document-schemas
Tests that must work:
Also must make sure that the modeling page in the documentation is updated.
Create ComplexDateTimeField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Implement __regex operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Implement __exists operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Allow auto_generate=True to create a new uuid value using uuid4.
Implement __in operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
Create SortedListField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Implement the first Agggregation as in:
price=Aggregation.add_to_set(Document.price)
This translates to aggregation query:
{ $addToSet : "$price" }
As can be seen in http://docs.mongodb.org/manual/reference/aggregation/group/#pipe._S_group.
This ticket is related to #46.
Create ImageField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Implement __mod_n operator as in http://docs.mongodb.org/manual/reference/operator/nav-query/.
This should be implemented like:
filter(field__mod_2=0).filter(other__mod_3=0)
Create IntField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Create GeoPointField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Create SequenceField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Support Building query objects with NOT like this:
query = Query.Not(
Query.Or(
field__lt=2,
field__gt=10
)
)
Document.objects.filter(query)
Create FileField compatible with MongoEngine one.
Tests that must work:
Also must make sure that the docs are written in the field's docstring and that the modeling page in the documentation is updated.
Support Building query objects with NOT like this:
query = Query.Not(
Query.Or(
field__lt=2,
field__gt=10
)
)
Document.objects.filter(query)
page = EmbeddedDocumentField("mymodule.models.page")
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.