mongodb/TODO

85 lines
2.7 KiB
Text
Raw Normal View History

2010-01-07 04:36:21 +00:00
TODO
====
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
- hint
2010-01-18 19:25:28 +00:00
- operations on database objects
* add_son_manipulators?
2010-01-19 03:26:44 +00:00
* dereference (dbref)
2010-01-18 19:25:28 +00:00
- database admin
* getProfilingInfo
- misc operations
* explain
* getCollectionOptions
2010-01-18 19:25:28 +00:00
- cursor object
* hasMore
2010-01-19 03:26:44 +00:00
- Query attribute: timeout
- CreateIndex attributes: background, min, max
- CreateIndex Order [Asc, Dec, Geo2d]
- FindAndModify
- getIndexInfo
- logout
- collectionsInfo
- databasesInfo
- getLastError options
- Update If Current (http://www.mongodb.org/display/DOCS/Atomic+Operations)
- block write until written on N replicas
- lazyRest on cursor, although lazy I/) is problematic and we may not want to support it.
2010-01-19 03:26:44 +00:00
2010-01-18 19:25:28 +00:00
optional:
- automatic reconnection
- buffer pooling
- connection pooling. Although may not be desired because each connection maintains seperate session state (open cursors and temp map/reduce collections) and switching between connections automatically would change session state without the user knowing.
+ support safe operations, although operation with exclusive connection access is available which can be used to getLastError and check for that previous write was safe (successful).
+ auto-destoy connection (how?/when?). Although, GHC will automatically close connection (Handle) when garbage collected.
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)
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
+ 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
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
deep "lookup" function (other deep Map functions?)
Read instance for Documents that can read its Show representation
2010-01-21 13:01:34 +00:00
make sure NULLs aren't in created table names
update tutorial to match new python one
+ custom types (see python examples)
+ make BSON an instance of Binary (eg get/put)
Questions:
- In Mongo shell, db.foo.totalSize fetches storageSize of each index but does not use it
Notes:
- Remember that in the new version of MongoDB (>= 1.6), "ok" field can be a number (0 or 1) or boolean (False or True). Use 'true1' function defined in Database.MongoDB.Util