[Coldbox 4.0+][cbmongodb]

Warning. Shameless plug:

CBMongoDB Version is now available: http://www.coldbox.org/forgebox/view/cbmongodb

You’ll need to clear your CommandBox artifacts if you’re already using the module. Backward compatibility is maintained, however this version consistently demonstrates 50% or better reductions in query execution and database operation times, so it’s a worthwhile upgrade.

Using the 3.0 driver (CFMongoDB is on 2.11 and Lucee native is on 2.14) allows for the easy expansion to include the Join, Partial Indexing and Validation features in the upcoming 3.2 release : https://www.compose.io/articles/mongodb-3-2-a-first-forward-look/

Release Notes:

  1. Removes Requirement For CFMongoDB Module
  2. Adds Requirement for CBJavaloader Module
  3. Implements MongoDB 3.0 Driver
  4. Implements the ability to use multiple databases
  5. Implements the ability to configure databases at the entity level
  6. Implements Native Collection Methods for the 3.0 MongoCollection
  7. Implements CFML Aggregation methods while allowing direct access to native driver methods
  8. Implements CFML Map-Reduce methods
  9. Demonstrates 52% reduction in query execution times and database operations from the previous version
  10. Implements handlers for API documentation (/cmbongodb/docs) and Unit Tests (/cbmongodb/tests)
  11. Fixes issue with near() GEOSpatial operations on Polygon objects
  12. Re-factors Test Suite to Require the Framework Context
  13. Adds an asJSON argument to find() and findAll() entity queries
  14. Encapsulates all Collection Result queries to provide the following delivery methods: .asResult() - MongoIterable, .asCursor() - MongoIterator, .asArray(), asJSON()

Thanks for this, I’m using in a couple of projects.

Jon, if the new version is in the ForgeBox entry and the package’s box.json, you shouldn’t have to clear the artifacts cache.



ColdBox Platform Evangelist
Ortus Solutions, Corp

E-mail: brad@coldbox.org
ColdBox Platform: http://www.coldbox.org
Blog: http://www.codersrevolution.com

Ah! I didn’t know that. Sweet!

Hi Jon,

Thank you for updating CBMongoDB. Really appreciate it!

My pleasure. I’ve updated a couple of projects to the new version and it’s much faster, especially when querying large collections. I did notice this morning that there was a typo in the cbjavaloader dependency in the box.json file, which was causing it not to nest the module on install, if it wasn’t already installed. I pushed a change up that fixes that issue.

On a related note, Luis and Brad, I noticed that my box.json entry didn’t save for some reason on Forgebox when I updated the module the other day. Forgebox did throw a couple of errors when I tried to save the description (maybe a length issue?) so it may just have gotten lost with one of those errors. Is it possible to have an option to pull that box.json from the repo instead of having to paste it in manually every time you update it?

Wow this is fantastic Jon.

Maybe we can do a presentation for dev week. Let me talk to brad and see if we could squeeze you in.

If we can would you be interested.

Luis Majano
Ortus Solutions, Corp
P/F: 1-888-557-8057

Sure, count me in if you’d like me to give a presentation. I did one awhile back when I first created the module, but I’ve done a lot more work with Mongo and NoSQL since then, so I’d probably have more to add.

Please post the upcoming presentation video in Vimeo. I also found your “converting cfmongodb to a module” video is useful.
My current project is using “cbmongdb”. Any presentations regarding MongoDB would be perfect. Thanks!