Pull requests completed for the 1.1.0 release:
- #92: Add get/setReadPreference() methods on core classes
- #97: Implement
Collection::aggregate()
helper - #103: Support array argument in
Builder::select()
andexclude()
- #105: Internal cursor improvements for hint, sort, read preferences, and recreation
Cursor::hint()
andsort()
should overwrite previous values- Integrate
setReadPreference()
withrecreate()
and make it chainable
- #106: Events refactoring and support for modifying data in EventArgs
- Support MongoDB::createCollection() options array (driver 1.4+)
- Introduce MutableEventArgs object for post-event listeners
- #107: Adding $nor query operator for Builder and Expr
- #118: Documentation cleanup
- #109: Support GeoJSON and 2dsphere queries
- Rename
Query::TYPE_GEO_LOCATION
toTYPE_GEO_NEAR
- Query builder and expression methods for 2dsphere geo-spatial operators
- Integration with GeoJSON library
- Rename
- #121: Reorder methods alphabetically
- #123: ArrayIterator improvements
- Allow
offsetSet()
to append values - Fix
valid()
return value if an array element isfalse
- Allow
- #124: Deprecated passing scalar $query argument to
Collection::update()
- #122: Command method refactoring
- Command methods now throw ResultException on error
group()
now returns an ArrayIterator instead of the raw command response- Ensure all
mapReduce()
options are prepared as MongoCode objects (where applicable) - Handle external database output strategy for
mapReduce()
- #126: DBRef database/collection method improvements
createDBRef()
should not use array type hinting (arg can be a document or an ID)createDBRef()
should not dispatch events, nor should it be logged- Add event dispatching to
Database::getDBRef()
(Collection already had this)
- #127: Improve events/logging for Database methods
- Fixed post-event dispatching for
getGridFS()
andcreateCollection()
- Added tests for Database event dispatching
- Fixed logging for
createCollection()
and make LoggableDatabase's API consistent with the base class
- Fixed post-event dispatching for
- #128: Query builder improvements
- Do not filter out falsey values in Query/Builder
debug()
methods - Support values and expressions for $pull in query builder
- Remove recursive merging in
Expr::addManyToSet()
- Implement
Expr::each()
and allow it to be used withaddToSet()
- Deprecate
Expr::addManyToSet()
in favor ofaddToSet()
andeach()
- Support $each/$slice/$sort operators with
push()
Expr::push()
should ensure $each operator appears firstExpr::where()
should not alter the current field in the builderBuilder::mapReduceOptions()
andout()
methods should require mapReduce command- Support GeoJSON in
Builder::geoNear()
and set spherical default Builder::map()
should init full query array, default to inline mapReduce output- Rename
Query::DISTINCT_FIELD
toDISTINCT
- Throw exception for invalid query types in Query constructor
- Query should allow a single cursor hint to be specified
- Query should apply "limit" option for mapReduce commands
- Add array type-hint to
Builder::all()
andExpr::all()
Query::getIterator()
should not execute if an exception is guaranteed- Deprecate
Query::iterate()
alias in favor ofgetIterator()
- Do not filter out falsey values in Query/Builder
- #130: Add $rename update operator for Builder and Expr
- #131: Remove $cmd args/properties and deprecate
mongoCmd
option - #132: Make full command result accessible in ArrayIterator
- #140: Add
initialize()
calls in Connection methods to avoid use of null objects - #139:
Builder::sort()
should default to ascending order - #143: Query builder read prefs and wrap driver classes directly
- Wrap driver classes directly and remove Connection reinit logic
- Convert inconsistent return values for
getReadPreference()
from pre-1.3.3 drivers - Don't throw InvalidArgumentException in
Cursor::setReadPreference()
- Support read preferences in Query Builder
- #147:
Expr::mod()
should take explicit divisor/remainder args
Additional commits included in 1.1.0:
- d51a44d: Support $elemMatch in query projections (closes #101)
- e92f0f2: Remove unused $options argument in
Expr::equals()
- 773423a: Use driver's return value in
Collection::batchInsert()
(closes #93) - 114a0ae: Fix cursor creation when MapReduce's db output option is used
- 8bc1466: Ensure
Cursor::limit()
argument is casted to an integer - 6afee47: Deprecate
Connection::getStatus()
(to be removed in 1.2) - 05258d4: Deprecate Database force/prev/resetError() methods (to be removed in 1.2)
- 25a8025: Restore
Query::TYPE_GEO_LOCATION
constant for BC, but deprecate it