- Add exports to package.json so node knows which version of the code to import
- Make sure default exports work when using this library from CommonJS
- Fix some default imports/exports
- Move type.js file into source
- Use yarn
- Use eslint to build source
- Convert package to ESM
- Add code coverage to danger
- Update pull-request workflow to better catch test failures
- Converted the tests to jest
- Make sure
facet
type uses options filter(s) (if any) for cardinality query
- Updated peerDependency to reflect current requirement
- Updated CI to use node16 and npm7
- Updated package-lock.json to version 2
- Add
debug
calls to track request/response queries via thecontexture:mongo
namespace.
- Change facet type optionsFilter to $and all words by doing a $regex match for each word as opposed to all words at once
- Add last 1 Day and last 1 hour to date math calculations
- Changed over CI from CircleCI to Github Actions
- fix bug when populate is restricting what fields (specifically when the
include
has dotted object fields when the schema only has the parent object) to return from the looked up record based on theinclude
provided
- fix bug when populate is restricting what fields (specifically when the
include
has nested object fields) to return from the looked up record based on theinclude
provided
- fix the bug the response of facet remove the 0 value name option ( compactObject consider it as a false value ).
- [Results] further improved
as
-awarecheckPopulate
- [Results] Don't run checkPopulate function on results nodes when
include
is missing or empty
- Fix the bug when converting the 'as' attribute to the $lookup 'as' prop
- Fix the wrong throw when includes an empty array and schema contains the valid fields
- support converting the 'as' attribute to the $lookup 'as' prop
- [Results] check populate localField props for coherence with node includes
- [Results] imporove performance when includes are present on a results node populate
- [Results] fix populate include bug (missing $ prefix on localField)
- [Results] add
include
support on populate config - [Results] default
foreignField
to_id
if not provided
- add next18Months rolling date type options
- Sort early when "hasMany" is set on a "populate" field, but we are not sorting on a joined field
- Fix for count query when has many is present on a "populate" field
- Add populate field option to indicate that the join field has many records and adjust sort, skip, limit order in aggregation pipeline
- Fix searching bug when label.fields is undefined for facet type
- Fix boolean values zero count search bug for facet type
- Fix the missing select values bug for facet type
- Add more rolling date types.
- Support passing a timezone for rolling dates.
- NOTE: Passing datemath expressions is no longer supported.
- Support for
bool
example type and tests - Updated 'hasValue` for the exists type and added tests for it
- Add tests for facet pipeline
- Remove console log
- Facet example type: Add a case to sort and limit earlier in the pipeline if there is no facet search
- Facet example type: Add ability to filter/match keywords that span over multiple projected fields
- Correct fix of dateHistogram cardinality implementation
- Fix the facet results function to use the unwind prop or field in both options and cardinality results searches
- support an optional unwind override in the call for facet results in order to access a nested property inside an array of objects
- support foreign collection lookups of data for facet labels
- Fix dateHistogram cardinality aggregation and accompanying test
- Results example type: Add a doesn't-have-more test case for
hasMore
- Fix typo in README
- Fix accidental NPM publish in 0.11.0
- Results example type: Add
hasMore
flag to context ifskipCount
is true and the query has results beyond the current page
- [DateHistogram] Fix key timestamp bug
- Add
termsStats
example type - Add
dateHistogram
example type - Add
skipCount
flag to results to avoid getting counts - Fix meta request logging to wrap
collection
andaggs
under arequest
key
- Refactor
hasValue
flow.
- Make sure
hasValue
takes into account empty strings fortext
type.
- Leverage new futil export regex builders in the facet options filter
- Move from
futil-js
to lastestfutil
(just package rename + version bump) - Change internal naming from
context
tonode
- Make sure to use the populate key when
$unwind
ing a$lookup
.
- Add "preserveNullAndEmptyArrays" to the unwind for the populate configuration
- Add support for unwind on the populate configuration
- Results example type: Don't
$project
redundant child paths when parent path is already projected.
- Results example type: Removed default
$sort
. Fixed$limit
when pageSize is 0.
- Results example type: sort after lookups and
include
is respected now via$project
.
- Fix typo on
tagsText
example type
- Remove uneccessary contexture peer dependency (which causes an issue since minor revisions are breaking in semver at 0.x)
- Add
tagsText
example type
- The Results type now allows unlimited results by setting pageSize to zero.
- Added support for Mongo ObjectIDs to teh facet example type.
number
properly handle empty string, null, undefined, and NaN
number
properly supports casting strings to numbers
- Fix bug in
statistical
when there are no results
facet
options are sorted by countfacet
options filter now translates words to intersection regexesfacet
properly filters before limiting (so filter works properly)
- Add
dateType
support to date type (withdate
,timestamp
, andunix
options)
- Add support for facet optionsFilter
- Cleanup changelog
- Add array support for
facet
example type
- Some more tests for the example-types
- Changed the
statistical
type so it wouldn't return an array
- Improved the
facet
type, allowing for unlimited queries
- Added the
statistical
type
- Fixed the text type using F.cascade with more than one parammeter
- Fixed the contexture version in our peerDependencies
- Kill data and config, requiring contexture >= 0.40
- Refactoring exclude mongoId
- Added the option to exclude on the mongoId type
- Fix bluebird regression and temporarily disable missing collection check
- Add
populate
support to results type, which performs$lookup
s
- Add error for specified collection not being found
Added data.values support to mongoId
- Make sure types are available
contexture-mongo/types
- Rename the default types to example types
- Made integration tests for the text and the mongoId example types
- Use the native mongo driver
- Renamed the expected model property to be collection
- Making sure we export the types
- Add dev tooling around contributing
- Add date documentation and missing mongoId dependencies
- Add date unit tests and missing date dependencies
- Fixed dependencies
- Initial Release