mongodb/TODO

108 lines
2.6 KiB
Text
Raw Normal View History

2010-01-07 04:36:21 +00:00
TODO
====
+ inject _id if not given, return it
2010-01-07 04:36:21 +00:00
BSON
----
2010-01-13 13:14:44 +00:00
+ on insert/update: reject keys that start with "$" or "."
+ data support for common mongo "$symbols"
2010-01-18 16:25:02 +00:00
+ convert from/to json
+ tie in with native regex like python does?
- on outgoing uncompile?
- on incoming automatically compile
+ more time convertibles
2010-01-19 03:26:44 +00:00
+ map operations for BsonDoc (or should it be applicative?)
2010-01-11 03:22:02 +00:00
MongoDB
-------
2010-01-18 19:25:28 +00:00
+ support full level 0
- handle query errors
2010-01-19 04:25:40 +00:00
- hint, explain, $where
2010-01-18 19:25:28 +00:00
- database profiling: set/get profiling level, get profiling info
- pair mode connection
- handle defunct servers
- connection fail over
2010-01-18 19:25:28 +00:00
- operations on database objects
* getName
* getCollection
2010-01-19 03:26:44 +00:00
* add_son_manipulators
* dereference (dbref)
* error
* eval
* last_status
* reset_error_history
2010-01-18 19:25:28 +00:00
- database admin
* getAdmin
* getProfilingLevel
* setProfilingLevel
* getProfilingInfo
- collection
* modify
* replace
* repsert
- index operations
2010-01-21 13:01:34 +00:00
* ensureIndex / index existance caching
2010-01-18 19:25:28 +00:00
- misc operations
* explain
* getOptions
* getName
* close
2010-01-19 04:25:40 +00:00
* group
* distinct
2010-01-18 19:25:28 +00:00
- cursor object
* hasMore
2010-01-19 03:26:44 +00:00
orderby (sort)
2010-01-18 19:25:28 +00:00
optional:
- automatic reconnection
- buffer pooling
- advanced connection management (master-server, replica pair)
2010-01-18 19:25:28 +00:00
- Tailable cursor support
2010-01-11 03:22:02 +00:00
+ support safe operations
+ auto-reconnection
2010-01-18 19:25:28 +00:00
+ auto-destoy connection (how?/when?)
2010-01-18 17:54:35 +00:00
+ pymongo returns the new ObjectId(s) on insert
2010-01-18 19:25:28 +00:00
+ don't read into cursor until needed, but have cursor send getMore before
it is actually out of docs (so network is finished by the time we're ready
to consume more)
+ support a LIMITed quickFind
2010-01-13 13:14:44 +00:00
Misc
----
+ learn more about haskelldb, anything we can learn from there
+ go through pymongo api and figure out what parts to adopt (also look
at other languages?)
2010-01-18 16:25:02 +00:00
- database_names()
- collection_names()
2010-01-13 13:14:44 +00:00
+ support for aggricated commands like listing collections
2010-01-18 16:25:02 +00:00
+ kill prefix on data types "eg QO_*"?
+ javascript
+ tailable cursor support
- only close cursor when cursorID is 0
- have to create loop that sleeps and retries
- lazy list support
+ error handling?
+ concurrency (share connection?)
+ is there a garbage collector hook that will let us free cursors and connections?
2010-01-13 13:14:44 +00:00
2010-01-18 16:25:02 +00:00
Tests?
Documentation
- ref
2010-01-18 19:25:28 +00:00
2010-01-19 03:26:44 +00:00
GridFS
2010-01-20 04:31:38 +00:00
2010-01-21 13:01:34 +00:00
pretty printer
deep "lookup" function (other deep Map functions?)
how to make bytestrings less painful
custom Show/Read instance that looks more like json
make sure NULLs aren't in created table names
update tutorial to match new python one
+ custom types (see python examples)
+ support array conversions again
+ better type conversion errors
+ make BSON an instance of Binary (eg get/put)