Merge branch 'Cache'
[activemongo.git] / README
blobbf2c1bd005b71d002e250643c0e7ca897e40a222
1 Really simple Activedocument for MongoDB
2 ----------------------------------------
4 MongoDB is a very powerful database, high performance and amicable. I wrote an article about it,
6 http://www.phpclasses.org/blog/post/118-Developing-scalable-PHP-applications-using-MongoDB.html
8 ActiveMongo, is a simple yet efficient MongoDB abstraction, following the Activedocument pattern. Visit http://crodas.org/activemongo.php for further details.
10 Comments, patches, bug reports are welcome to the blog post, my personal e-mail address, crodas@php.net 
13  What it does now:
15 - Handle MongoDB connection, connecting once when it is needed
16 - Define a Collection as a class
17 - Abstracts iteration over a dataset
18 - Efficient save() which creates or updates efficiently (using $unset, $set) a document
19 - Provides simple queries interface, but allows to get MongoCollection for complex queries in sub-classes
20 - Delete current object, Drop() table
21 - Support filtering per property
22 - Support for efficient updates on nested documents
23 - Support Hooks:
24     - pre_save($operation, Array &$document): Right before to perform and insert or update
25     - on_save(): When a document is created
26     - on_update(): When a document is updated
27     - on_iterate(): On iteration, when the cursor moves to the next document
28 - Support simple yet useful collection installation, useful to create indexes and shard keys.
29 - Efficient references to another document, and an efficient way to load it (with one query if possible)
30 - Dynamic References (AKA, save a query to execute later)
32 TODO:
34 - PHP Streams support for GridFS
35 - Tools for setup and manage a sharded environment