-
Type: Improvement
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 2.0.0
-
Component/s: Public API
-
None
Things that still need to be done on this ticket:
- Add remaining helpers (I think these are all of them?):
- find_and_modify (may be split up, check CRUD spec):
- find_one_and_replace
- find_one_and_update
- replace_one
- find_one_and_remove
- map_reduce
- group
- find_and_modify (may be split up, check CRUD spec):
- Compatibility with older server versions:
- I've just been developing against 2.7 (sorryyy) and I think that most of the differences between versions will be in the responses from the server, so this might be wrapped up nicely in response objects.
- write_concern, response-parsing, error handling (once responses are done)
- add write_concern methods to both collection and database (similar to server_preference) so that write_concern is taken hierarchically.
- more testing, slash I had questions about these things:
- how #find should handle yielding itself to a block
- intended behavior for #insert when continue_on_error option is used
- intended behavior when you create a capped collection, if that collection already exists on the db and is not capped, or is capped at a different value. Or, collection on db is capped, and our instance of that collection was not created with the capped option.
- Is Cursor enumerable? Test for parallel_scan is commented out.
- Confirm that our implementation follows the new CRUD spec, once it is finished, as closely as possible.
- Fix strange, flaky rspec failures. I spoke with Durran about this, and left a comment on the pull review, there are varying failures at varying points in the test suite. If you run each set of examples individually, they'll all pass, but run together they fail.