Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
5.0 Deprecation Warnings
Clone this wiki locally
The following functionality is considered deprecated for the 5.0 release.
The mpromise promises library. Mongoose 5.0 will use native promises by default if available, otherwise no promises. You will still be able to set a custom promises library using
mongoose.Promise = require('bluebird');, however, mpromise will not be supported.
3512: Throwing cast errors when calling
.update(). Mongoose 4.x currently throws an exception if the criteria or update passed to
MyModel.update()fails to cast. Mongoose 5.0 will communicate this error in the callback (or by rejecting the promise).
emitIndexErroroption for schemas will be removed. Mongoose will always use the
For asynchronous custom validators, you will have to return a promise from the validator or specify
isAsync: true. Mongoose will no longer treat custom validator functions that take 2 arguments as asynchronous. See GitHub issue #4084
.stream()function for queries. Mongoose 4.5.0 queries have a
.cursor()function that uses Streams3 (rather than node 0.8 streams) among other powerful features. See GitHub issue #1907
retainKeyOrderoptions. Mongoose will not reverse key orders in 5.0.
rawResultoption will return the raw write op result from the MongoDB driver, with the caveat that
result.valuewill be a hydrated mongoose document. See GitHub issue #4925. Both
passRawResultare supported in >= 4.9.0 (
passRawResulttakes precedent), however,
passRawResultwill not work in 5.0.0.