ContinuumIO/blaze — pull request #444 by mrocklin (2014-08-01 22:32:16+00:00)
Title: MongoDB Backend

$ mongod
$ ipython
```Python
In [1]: L = [(1, 'Alice', 100),
...: (2, 'Bob', -200),
...: (3, 'Charlie', 300),
...: (4, 'Denis', 400),
...: (5, 'Edith', -500)]

In [2]: from blaze import *

In [3]: import pymongo

In [4]: db = pymongo.MongoClient().mydb

In [6]: coll = into(db.mycollection, L, columns=['id', 'name', 'amount'])

In [7]: t = Table(coll) # wrap up with Blaze

In [8]: t
Out[8]:
amount id name
0 100 1 Alice
1 -200 2 Bob
2 300 3 Charlie
3 400 4 Denis
4 -500 5 Edith

In [9]: list(coll.find({'name': 'Alice'})) # MongoDB query
Out[9]:
[{u'_id': ObjectId('53dc14e2f047051b9e4d7c0a'),
u'amount': 100,
u'id': 1,
u'name': u'Alice'}]

In [10]: t[t.name == 'Alice'] # Blaze Query
Out[10]:
amount id name
0 100 1 Alice
```

The backend supports Projections, Selections, some reductions, some split-apply-combine