50 lines
2 KiB
Text
50 lines
2 KiB
Text
TODO
|
|
====
|
|
|
|
Bson
|
|
----
|
|
+ implement deprecated types (were left out)
|
|
+ convert from/to json
|
|
+ tie regex type to type in regex library
|
|
+ Read instance for Documents that can read its Show representation
|
|
|
|
MongoDB
|
|
-------
|
|
+ When one connection in a pool fails, close all other since they will likely fail too
|
|
+ on insert/update: reject keys that start with "$" or "."
|
|
+ dereference dbref
|
|
+ functions for every command, eg.
|
|
- findAndModify
|
|
- reIndex (http://www.mongodb.org/display/DOCS/Indexes#Indexes-ReIndex)
|
|
- createIndex attributes: background, min, max
|
|
- createIndex Order [Asc, Dec, Geo2d]
|
|
- getIndexInfo
|
|
- logout
|
|
- collectionsInfo
|
|
- databasesInfo
|
|
- getProfileInfo
|
|
+ Query attribute: timeout
|
|
+ Update If Current (http://www.mongodb.org/display/DOCS/Atomic+Operations)
|
|
+ Upon client exit, send killCursors for all open cursors, otherwise server will keep them open for 10 minutes and keep NoCursorTimeout cursors open for hours.
|
|
+ Upon cursor finalize (garbage collect) send killCursor even if you have to create a new connection, because server keeps cursors open for 10 minutes (or more).
|
|
+ Query option Exhaust
|
|
+ Reconnect on replica set primary stepdown, so no exception raised to user
|
|
+ Reconnect on query ioerror re-query, so no exception raised to user. Can't be done for writes because it is not safe to re-execute a write.
|
|
+ tailable cursor support
|
|
- only close cursor when cursorID is 0
|
|
- have to create loop that sleeps and retries
|
|
- lazy list support
|
|
+ GridFS
|
|
|
|
Tests - none currently
|
|
|
|
Misc
|
|
----
|
|
+ javascript DSL
|
|
|
|
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
|
|
- A cursor will die on the server if not accessed (by any connection) within past 10 minutes (unless NoCursorTimeout option set). Accessing a dead (or non-existent) cursor raises a CursorNotFoundFailure.
|