- Avoid resolving primitive type operands. Fixes #103
- Work around iOS 9 Safari compatibility problem (#98)
- Fixing typing for aggregator.run, make query optional. (#102)
- Minor cleanup and refactoring
- Correct changelog date
- Switch
inArray
andnotInArray
to useArray.prototype.includes
for performance. Fixes #95
- Project all matched elements of nested array correctly. Fixes #93
- Match missing fields correctly with
$exists
- Update
mergeObjects
to handle more use cases.
- Fix merge objects to project subdocuments correctly. Fixes #91
- Add
$$REMOVE
support to conditionally exclude fields
- Match undefined fields with
$in: [null]
queries (#85)
- Support
$unwind
for arrays nested in objects. Fixes #80
- Added
$expr
operator. Fixes #79
- More Performance improvements for lazy evaluation
- Added
$mergeObjects
operator - Change
Lazy
to factory - Remove
Lazy
static methods exceptisIterator
- Use iterator input for Query
- Don't sort cursor modifiers
- Added new
Lazy
iterator to re-implementCursor
and pipeline operators - Added
Aggregator.stream
to obtain iterator for stream pipeline results - Removed
Cursor
methodsfirst()
andlast()
- Add typescript declaration. Fixes #75
- Handle date values in
$add
operator. Fixes #73
- Fix
map
so it does not breakcloneDeep
- Improve hash function
- Remove array size constraint on
$concatArrays
. #64 - Filter out empty values from collection. #65
- Fix false positive tests and
$substrBytes
. #66 $regex
should matched nested one level deep. #70
- Minimize cloning in pipeline operators
- Return new object for
$lookup
without mutating original. Fixes #59 and #60 - Make
clone
return shallow clone - Provide
cloneDeep
for deep cloning
- Removed custom polyfills
- Added
$strLenBytes
,$strLenCP
,$substrCP
,$substrBytes
- Fix
$indexOfBytes
- Fix
$stdDevSamp
- Fix
$in
for aggregation operations - Removed max and min cursor methods.
- Restrict custom query operator type
OP_QUERY
to return boolean only - Rename
OP_AGGREGATE
toOP_EXPRESSION
- Update
$unwind
to MongoDB 3.2 features
- Fix
computeValue
not overriding group operator keys after resolving expression - Added
$in
,$objectToArray
, and$arrayToObject
array aggregation operators
- Restore
setup
function. kofrasa#56
- Replaced core-js because it bloats compiled library by 10K i.e. ~24%
- Fix #55
- Support ES6 modules
- Fix matching null and missing values. kofrasa#54
- Improve comparing user-defined types
- Fix
$where
operator not executed last. kofrasa#50 - Fix matching nested arrays. kofrasa#51
- Added
$facet
and$bucket
operators - Added
$bucketAuto
operator without granularity support - Added string keys for
$type
operator - Added Cursor support for ES2015 Iterator Protocol
- Sort null/undefined values to front of sorted result
- Revert to operator names with format
Mingo.OP_<name>
- Optimize
$lookup
implementation - Avoid reversing original input to
$reverseArray
- Fix incorrect method call for ObjectProto
- Limit exposed util methods to type checking
- Renamed
Mingo.OP_<name>
functions toMingo.KEY_<name>
- Added pipeline stage operator (
$lookup
)
- Updated polyfills to fix failing build on older node versions
- Added array aggregation operators
(
$arrayElemAt
,$concatArrays
,$filter
,$indexOfArray
,$isArray
,$range
,$reverseArray
,$reduce
,$slice
,$zip
) - Added string aggregation operators (
$indexOfBytes
,$split
) - Added arithmetic aggregation operators (
$ceil
,$exp
,$floor
,$ln
,$log
,$log10
,$pow
,$sqrt
,$trunc
) - Added .editorconfig
- Pass utility functions to custom operator implementation
- Rename function to retrieve collection id to
idKey
in custom operators - Moved support for query projection streaming to a new package mingo-stream
- Fix resolving system variables with subpaths. See issue#41
- Added support for system variables (
$$ROOT
,$$CURRENT
) - Implemented more pipeline operators (
$redact
,$addFields
,$sample
,$sortByCount
,$count
,$replaceRoot
) - Added
$switch
conditional operator - Fixed
$ifNull
conditional operator - Allow use of
$in
and$nin
as aggregation comparison operators
- Fix querying deeply nested nested arrays and object equality matching. See issue#36
- Make this library zero-dependent
- Fix nested projections for objects and arrays. See issue#25
- Fix incorrect de-duping of Date types in $sort aggregate operator. See issue#23
- Support matching against user-defined types. See issue#22
- Fixed numeric aggregation over undefined values. See issues#21
- Fixed erroneous cloning of objects. See issue#20
- Fixed matching nested array fields without specifying index. See issue#19
- Added
VERSION
global field
- Added
$dateToString
aggregation operator
- Added support for extending operators via
Mingo.addOperators
- Added
bower.json
- Fixed grouping documents by an object key
- Fixed exclusive select projection not returning correct fields