Initial commit

* Examples work
* setup.py kinda updasted
* Fork of txmongo but with new pymongo embedded
This commit is contained in:
Don Brown
2014-01-24 16:19:17 -07:00
commit ae154dbc72
60 changed files with 14825 additions and 0 deletions

30
examples/aggregate.py Normal file
View File

@@ -0,0 +1,30 @@
#!/usr/bin/env python
# coding: utf-8
from asyncio import coroutine
import asyncio
import asyncio_mongo
@coroutine
def example():
mongo = yield from asyncio_mongo.Connection.create('localhost', 27017)
foo = mongo.foo # `foo` database
test = foo.test # `test` collection
yield from test.insert({"src":"Twitter", "content":"bla bla"}, safe=True)
yield from test.insert({"src":"Twitter", "content":"more data"}, safe=True)
yield from test.insert({"src":"Wordpress", "content":"blog article 1"}, safe=True)
yield from test.insert({"src":"Wordpress", "content":"blog article 2"}, safe=True)
yield from test.insert({"src":"Wordpress", "content":"some comments"}, safe=True)
# Read more about the aggregation pipeline in MongoDB's docs
pipeline = [
{'$group': {'_id':'$src', 'content_list': {'$push': '$content'} } }
]
result = yield from test.aggregate(pipeline)
print("result:", result)
if __name__ == '__main__':
asyncio.get_event_loop().run_until_complete(example())