MongoDB Driver v0.2

MongoDB Driver v0.2.0 is now available.

It is recommended that you change to this version of the driver if you are using the driver in your MongoDB projects. This version fixes an issue with queries that return large result sets (2000+ documents). Previously the driver would crash when a query returned in the range of 2000+ documents.

This version of the driver was successfully tested with a result set that contained 641,337 documents, and processed these documents in 188 seconds (3,411 documents per second). I’m confident that the driver will now be able to handle more than a million documents in a single query. During testing the driver’s memory footprint also never went above 17MB, this while running in the IDE (I haven’t tested the compiled version of the driver yet).

Once again a big thanks to Patrick for his test app contributions and his help in finding bugs and thereby improving the driver.

MongoDB Driver v0.2.0 Release Notes:

[Fix] Fixed OutOfBounds error that occurred with large query results (2000+ documents).
[Enhancement] Minor optimizations to collection class methods.
[Enhancement] Improved memory usage of the driver’s data buffer.
[Enhancement] Refactored action handlers in test app (courtesy of Patrick Perroud).
[New] Added a JSON Validator to the driver test app (courtesy of Patrick Perroud).
[New] Test app now has ability to export query results to file (courtesy of Patrick Perroud).
[New] JSON Serializer module to support loosely formatted JSON (e.g. {noQuotes:“Awesome”}).
[New] Database.getLastErrorObj() method.
[New] Database.getLastError() method.
[New] Database.runCommand() method.
[New] Collection.count([query]) method.
[New] Collection.ensureIndex(, [options]) method.
[New] Collection.getIndexes() method.
[New] Collection.dropIndex() method.
[New] Collection.dropIndexes() method.
[New] Collection.stats([scale]) method.
[New] Collection.totalIndexSize() method.
[New] Collection.reIndex() method.

Please log any bug reports or feature requests on GitHub.

congratulations! you have made big strides on the driver.

Thanks Scott, but Patrick should really get most of the congrats. His testing and suggestions helped a lot.

We found a bug with UTF8 strings in the BSON Serializer.

Since this is a critical bug, I’ve decided to do an early release of the next version of the driver.

Version 0.2.1 of the MongoDB driver can be downloaded from GitHub.

MongoDB Driver v0.2.1 Release Notes:

[Fix] UTF8 strings now handled correctly by BSON Serializer.
[Fix] Added timeout to TCP comms.
[Enhancement] Optimized display speed of query results (courtesy of nodeleaf).
[Enhancement] Moved EscapeJSON method from BSON module to JSON module.
[Enhancement] Updated README example with new methods.
[New] Collection.save() method.
[New] Collection.copyTo() method.
[New] Collection.dataSize() method.
[New] Collection.distinct(,[query]) method.
[New] Collection.drop() method.
[New] Collection.findAndModify() method.

In my rush to get out the the bug fix, I forgot to commit one module.

Version 0.2.2 is the correct driver modules you should download.

MongoDB Driver v0.2.4 is now available for download.

Changes include:

[Fix] Driver now supports BSON UTC date types.
[Fix] Dates formatted in correct ISO format by BSON Serializer.
[Fix] Fixed encoding of ObjectIDs. (Courtesy of Mark Lubratt).
[New] Test app updated with latest driver changes (Courtesy of nodeleaf).

There is currently no known issues with the driver. We will start to include binary builds of the test application with future versions of the driver.

Please feel free to post any feature request you might have for the driver, and I will definitely prioritize development tasks where I can.

As more people are using the driver, we are discovering (and fixing) more bugs.

A new bug was discovered today with regards to big integers. The fixed driver is available for download.

v0.2.5 Changes:

[Fix] Big integers now converted correctly to strings by BSON Serializer.
[New] Updated test app to use latest driver (courtesy of nodeleaf).

db.auth is now implemented in the Xojo MongoDB driver.

I haven’t tagged a new version of the driver yet (still adding other features for the next version), but if you want to start use authentication in you MongoDB projects, then you can download the master version from GitHub:

https://github.com/alwyn1024/mongodb-xojodriver