- Added the ability to specify a to-many relationship which will store an array of ids and will re-normalize a collection when the getter is called
- Added MongoDB interceptor and
MongoDBpreInsert
,MongoDBpreSave
,MongoDBpostSave
, andMongoDBpostLoad
interception points - Added
MongoDBMigrationManager
for use withcfmigrations
- Release structure to correct semvar - decoupled driver version from release version
- MongoDB Java Driver to 3.10.2
- Module development build and test harness to new framework
- Fixed support for
IN
($in
) queries on identifiers, which were being cast wrong in the criteria
- MongoDB Java Driver to 3.5.0
- ACF Compatibility Updates
- Cleanup validation conditionals
- Fixes casting errors on loaded entity save
- Ensure entity _id is always cast as a string
- Fixes merge issue with struct merge on population
- Add check for _id in record struct
- Adds the ability to pass an additional match condition on a grouped aggregation - Allows for an additional match clause to limit the grouped results
- Syntax corrections
- Reverts auto-eviction to pre-v3.2.0.4 spec to prevent removal of normalized data prior to
populate()
- Ensures legacy index names, which weren't keyed off of the collection are dropped and re-created using new naming conventions
- Updates Mongo Driver to v3.2.1.0
- Refactors module to use coldbox module skeleton
- Adds automated Travis CI builds and deployments for source and new
cbmongodb-be
slug to Forgebox
- ACF11 compatibility updates
- Fixes a schema issue where a parent struct is being overwritten by the default container when the child attribute is lower aphabetically
- Fixes an issue with unique validation
- Fixes population issues when passing nested structs
- Fixes issues with nested keys on normalization
- Adds auto-eviction prior to population
- Adds explicit closing to cursor use for single record retrieval
- Changes index naming scheme to prevent different collections from having the same index name hash
- Adds the ability to pass a struct as the first argument to
where()
- Fixes ACF Compatibility Issues
- Fixes issues with unexpected driver return types
- Adds
offset()
helper method (alias forset_offset()
) to ActiveEntity - Adds
isObjectId()
helper method to MongoUtil for detecting whether an object is a Mongo _id string
- Fixes issues with module load/unload connection operations
- Adds GridFS operational support
- Adds GridFS FileEntity model
- Fixes issues with
_id
queries not being typed appropriately - Fixes error when attempting to truncate a collection
- Updates MongoDB Java driver to version 3.2.0
- Adds support for readConcern configuration option
- Adds validation methods for entities and support for new property
ForceValidation
, which will prevent saving of documents which do not validate - Adds auto-normalization capabilities for schema properties. When attributes are configured, schema will auto-normalize when set() and populate() methods are called.
- Implements full support for component accessors on all schema properties. Var safe accessor closures are generated to allow recursion through an underscore delimiter (e.g.
getFirstLevel_SecondLevel()
to retrievegetDocument().FirstLevel.SecondLevel
) - Fixes native CFML data types not being sanitized on deeply nested structs and arrays.
- Add getDocument() and asStruct() utility methods, which can be used on unloaded and unloaded entities.
- Adds append() and prepend() functions to assit in managing document schema arrays.
- Fixes issues with property maps not being defined correctly and correct casting of boolean property defaults.
- Adds MongoIndexer singleton to delegate index management away from Entity instances.
- Fixes issue with connections not being pooled accurately and adds connection closing to module unload
- Moves module bindings to onLoad() to ensure availability of cbjavaloader module
- Changes return type of all single record retrievals inserts and updates to native structs and adds auto-stringification of _id (eliminates the need for toString())
- Ensures version of returned object from findOneAndUpdate/findOneAndReplace operations is the after-save version
- Removes Requirement For CFMongoDB Module
- Adds Requirement for CBJavaloader Module
- Implements MongoDB 3.0 Driver
- Implements the ability to use multiple databases
- Implements the ability to configure databases at the entity level
- Implements Native Collection Methods for the 3.0 MongoCollection
- Implements CFML ## Aggregation methods while allowing direct access to native driver methods
- Implements CFML ## Map-Reduce methods
- Demonstrates 52% reduction in query execution times and database operations from the previous version
- Implements handlers for API documentation (/cmbongodb/docs) and Unit Tests (/cbmongodb/tests)
- Fixes issue with near() GEOSpatial operations on Polygon objects
- Re-factors Test Suite to Require the Framework Context
- Adds an asJSON argument to find() and findAll() entity queries
- Encapsulates all Collection Result queries to provide the following delivery methods: .asResult() - MongoIterable, .asCursor() - MongoIterator, .asArray(), asJSON()