Mongoose


Mongoose()

Parameters:参数:

Mongoose constructor.Mongoose构造函数。

The exports object of the mongoose module is an instance of this class. mongoose模块的exports对象就是这个类的一个实例。Most apps will only use this one instance.大多数应用程序将只使用这一个实例。

Example:示例:

const mongoose = require('mongoose');
mongoose instanceof mongoose.Mongoose; // true

// Create a new Mongoose instance with its own `connect()`, `set()`, `model()`, etc.
const m = new mongoose.Mongoose();

Mongoose.prototype.Aggregate()

The Mongoose Aggregate constructor


Mongoose.prototype.CastError()

Parameters:参数:
  • type «String» The name of the type类型的名称

  • value «Any» The value that failed to cast未能强制转换的值

  • path «String» The path a.b.c in the doc where this cast error occurred发生此强制转换错误的文档中的路径a.b.c

  • [reason] «Error» The original error that was thrown引发的原始错误

The Mongoose CastError constructorMongoose CastError构造函数


Mongoose.prototype.Collection()

The Mongoose Collection constructorMongoose集合构造函数


Mongoose.prototype.Connection()

The Mongoose Connection constructorMongoose连接构造函数


Mongoose.prototype.ConnectionStates

Type:类型:
  • «property»

Expose connection states for user-land显示用户土地的连接状态


Mongoose.prototype.Date

Type:类型:
  • «property»

The Mongoose Date SchemaType.Mongoose日期模式类型

Example:示例:

const schema = new Schema({ test: Date });
schema.path('test') instanceof mongoose.Date; // true

Mongoose.prototype.Decimal128

Type:类型:
  • «property»

The Mongoose Decimal128 SchemaType. Used for declaring paths in your schema that should be 128-bit decimal floating points. Mongoose Decimal128架构类型。用于声明模式中的路径,这些路径应为128位十进制浮点Do not use this to create a new Decimal128 instance, use mongoose.Types.Decimal128 instead.不要使用它来创建新的Decimal128实例,而是使用mongoose.Types.Decimal128

Example:示例:

const vehicleSchema = new Schema({ fuelLevel: mongoose.Decimal128 });

Mongoose.prototype.Document()

The Mongoose Document constructor.Mongoose文档构造函数。


Mongoose.prototype.DocumentProvider()

The Mongoose DocumentProvider constructor. Mongoose DocumentProvider构造函数。Mongoose users should not have to use this directlyMongoose用户不应该直接使用


Mongoose.prototype.Error()

The MongooseError constructor.MongooseError构造函数。


Mongoose.prototype.Mixed

Type:类型:
  • «property»

The Mongoose Mixed SchemaType. Mongoose混合架构类型Used for declaring paths in your schema that Mongoose's change tracking, casting, and validation should ignore.用于在您的模式中声明Mongoose的更改跟踪、强制转换和验证应该忽略的路径。

Example:示例:

const schema = new Schema({ arbitrary: mongoose.Mixed });

Mongoose.prototype.Model()

The Mongoose Model constructor.MongooseModel构造函数。


Mongoose.prototype.Mongoose()

The Mongoose constructorMongoose构造函数

The exports of the mongoose module is an instance of this class.mongoose模块的导出就是这个类的一个实例。

Example:示例:

const mongoose = require('mongoose');
const mongoose2 = new mongoose.Mongoose();

Mongoose.prototype.Number

Type:类型:
  • «property»

The Mongoose Number SchemaType. Used for declaring paths in your schema that Mongoose should cast to numbers.Mongoose数字架构类型。用于在您的模式中声明Mongoose应该转换为数字的路径。

Example:示例

const schema = new Schema({ num: mongoose.Number });
// Equivalent to:
const schema = new Schema({ num: 'number' });

Mongoose.prototype.ObjectId

Type:类型:
  • «property»

The Mongoose ObjectId SchemaType. Mongoose ObjectId架构类型Used for declaring paths in your schema that should be MongoDB ObjectIds. Do not use this to create a new ObjectId instance, use mongoose.Types.ObjectId instead.用于在您的模式中声明应该是MongoDB ObjectId的路径。不要使用它来创建新的ObjectId实例,而是使用mongoose.Types.ObjectId

Example:示例

const childSchema = new Schema({ parentId: mongoose.ObjectId });

Mongoose.prototype.Query()

The Mongoose Query constructor.Mongoose 查询构造函数。


Mongoose.prototype.STATES

Type:类型:
  • «property»

Expose connection states for user-land显示用户土地的连接状态


Mongoose.prototype.Schema()

The Mongoose Schema constructorMongoose 架构构造函数

Example:示例

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const CatSchema = new Schema(..);

Mongoose.prototype.SchemaType()

The Mongoose SchemaType constructorMongoose SchemaType构造函数


Mongoose.prototype.SchemaTypeOptions()

The constructor used for schematype options用于模式类型选项的构造函数


Mongoose.prototype.SchemaTypes

Type:类型:
  • «property»
See:

The various Mongoose SchemaTypes.各种Mongoose模式类型。

Note:

Alias of mongoose.Schema.Types for backwards compatibility.mongoooseSchemaTypes的别名,用于向后兼容性。


Mongoose.prototype.Types

Type:类型:
  • «property»

The various Mongoose Types.各种Mongoose类型。

Example:示例:

const mongoose = require('mongoose');
const array = mongoose.Types.Array;

Types:类型:

Using this exposed access to the ObjectId type, we can construct ids on demand.使用这种对ObjectId类型的公开访问,我们可以根据需要构建id。

const ObjectId = mongoose.Types.ObjectId;
const id1 = new ObjectId;

Mongoose.prototype.VirtualType()

The Mongoose VirtualType constructorMongoose VirtualType构造函数


Mongoose.prototype.connect()

Parameters:参数:
  • uri «String» mongodb URI to connect to

  • [options] «Object» passed down to the MongoDB driver's connect() function, except for 4 mongoose-specific options explained below.

    • [options.bufferCommands=true] «Boolean» Mongoose specific option. Set to false to disable buffering on all models associated with this connection.

    • [options.bufferTimeoutMS=10000] «Number» Mongoose specific option. If bufferCommands is true, Mongoose will throw an error after bufferTimeoutMS if the operation is still buffered.

    • [options.dbName] «String» The name of the database we want to use. If not provided, use database name from connection string.

    • [options.user] «String» username for authentication, equivalent to options.auth.user. Maintained for backwards compatibility.

    • [options.pass] «String» password for authentication, equivalent to options.auth.password. Maintained for backwards compatibility.

    • [options.maxPoolSize=100] «Number» The maximum number of sockets the MongoDB driver will keep open for this connection. Keep in mind that MongoDB only allows one operation per socket at a time, so you may want to increase this if you find you have a few slow queries that are blocking faster queries from proceeding. See Slow Trains in MongoDB and Node.js.

    • [options.minPoolSize=0] «Number» The minimum number of sockets the MongoDB driver will keep open for this connection.MongoDB驱动程序将为该连接保持打开的最小套接字数。

    • [options.serverSelectionTimeoutMS] «Number» If useUnifiedTopology = true, the MongoDB driver will try to find a server to send any given operation to, and keep retrying for serverSelectionTimeoutMS milliseconds before erroring out. If not set, the MongoDB driver defaults to using 30000 (30 seconds).

    • [options.heartbeatFrequencyMS] «Number» If useUnifiedTopology = true, the MongoDB driver sends a heartbeat every heartbeatFrequencyMS to check on the status of the connection. A heartbeat is subject to serverSelectionTimeoutMS, so the MongoDB driver will retry failed heartbeats for up to 30 seconds by default. Mongoose only emits a 'disconnected' event after a heartbeat has failed, so you may want to decrease this setting to reduce the time between when your server goes down and when Mongoose emits 'disconnected'. We recommend you do not set this setting below 1000, too many heartbeats can lead to performance degradation.

    • [options.autoIndex=true] «Boolean» Mongoose-specific option. Mongoose特定选项。Set to false to disable automatic index creation for all models associated with this connection.设置为false可禁用与此连接关联的所有模型的自动索引创建。

    • [options.connectTimeoutMS=30000] «Number» How long the MongoDB driver will wait before killing a socket due to inactivity during initial connection. Defaults to 30000. This option is passed transparently to Node.js' socket#setTimeout() function.

    • [options.socketTimeoutMS=30000] «Number» How long the MongoDB driver will wait before killing a socket due to inactivity after initial connection. MongoDB驱动程序在初始连接后由于不活动而杀死套接字之前要等待多长时间。A socket may be inactive because of either no activity or a long-running operation. 套接字可能由于没有活动或长时间运行的操作而处于非活动状态。This is set to 30000 by default, you should set this to 2-3x your longest running operation if you expect some of your database operations to run longer than 20 seconds. 默认情况下,此值设置为30000,如果您希望某些数据库操作的运行时间超过20秒,则应将其设置为运行时间最长的操作的2-3倍。This option is passed to Node.js socket#setTimeout() function after the MongoDB driver successfully completes.此选项在MongoDB驱动程序成功完成后传递给Node.js socket#setTimeout()函数

    • [options.family=0] «Number» Passed transparently to Node.js' dns.lookup() function. May be either 0, 4, or 6. 4 means use IPv4 only, 6 means use IPv6 only, 0 means try both.

    • [options.autoCreate=false] «Boolean» Set to true to make Mongoose automatically call createCollection() on every model created on this connection.

  • [callback] «Function»
Returns:返回:
  • «Promise» resolves to this if connection succeeded
See:

Opens the default mongoose connection.打开默认的猫鼬连接。

Example:示例:

mongoose.connect('mongodb://user:pass@127.0.0.1:port/database');

// replica sets
const uri = 'mongodb://user:pass@127.0.0.1:port,anotherhost:port,yetanother:port/mydatabase';
mongoose.connect(uri);

// with options
mongoose.connect(uri, options);

// optional callback that gets fired when initial connection completed
const uri = 'mongodb://nonexistent.domain:27000';
mongoose.connect(uri, function(error) {
// if error is truthy, the initial connection failed.
})

Mongoose.prototype.connection

Type:类型:
  • «Connection»

The Mongoose module's default connection. Equivalent to mongoose.connections[0], see connections.

Example:示例:

const mongoose = require('mongoose');
mongoose.connect(...);
mongoose.connection.on('error', cb);

This is the connection used by default for every model created using mongoose.model.

To create a new connection, use createConnection().


Mongoose.prototype.connections

Type:类型:
  • «Array»

An array containing all connections associated with this Mongoose instance. By default, there is 1 connection. Calling createConnection() adds a connection to this array.

Example:示例:

const mongoose = require('mongoose');
mongoose.connections.length; // 1, just the default connection
mongoose.connections[0] === mongoose.connection; // true

mongoose.createConnection('mongodb://127.0.0.1:27017/test');
mongoose.connections.length; // 2

Mongoose.prototype.createConnection()

Parameters:参数:
  • uri «String» mongodb URI to connect to

  • [options] «Object» passed down to the MongoDB driver's connect() function, except for 4 mongoose-specific options explained below.

    • [options.bufferCommands=true] «Boolean» Mongoose specific option. Set to false to disable buffering on all models associated with this connection.

    • [options.dbName] «String» The name of the database you want to use. If not provided, Mongoose uses the database name from connection string.

    • [options.user] «String» username for authentication, equivalent to options.auth.user. Maintained for backwards compatibility.

    • [options.pass] «String» password for authentication, equivalent to options.auth.password. Maintained for backwards compatibility.

    • [options.autoIndex=true] «Boolean» Mongoose-specific option. Set to false to disable automatic index creation for all models associated with this connection.

    • [options.maxPoolSize=5] «Number» The maximum number of sockets the MongoDB driver will keep open for this connection. Keep in mind that MongoDB only allows one operation per socket at a time, so you may want to increase this if you find you have a few slow queries that are blocking faster queries from proceeding. See Slow Trains in MongoDB and Node.js.

    • [options.minPoolSize=1] «Number» The minimum number of sockets the MongoDB driver will keep open for this connection. Keep in mind that MongoDB only allows one operation per socket at a time, so you may want to increase this if you find you have a few slow queries that are blocking faster queries from proceeding. See Slow Trains in MongoDB and Node.js.

    • [options.connectTimeoutMS=30000] «Number» How long the MongoDB driver will wait before killing a socket due to inactivity during initial connection. Defaults to 30000. This option is passed transparently to Node.js' socket#setTimeout() function.

    • [options.socketTimeoutMS=30000] «Number» How long the MongoDB driver will wait before killing a socket due to inactivity after initial connection. A socket may be inactive because of either no activity or a long-running operation. This is set to 30000 by default, you should set this to 2-3x your longest running operation if you expect some of your database operations to run longer than 20 seconds. This option is passed to Node.js socket#setTimeout() function after the MongoDB driver successfully completes.

    • [options.family=0] «Number» Passed transparently to Node.js' dns.lookup() function. May be either 0, 4, or 6. 4 means use IPv4 only, 6 means use IPv6 only, 0 means try both.

Returns:返回:
  • «Connection» the created Connection object. Connections are not thenable, so you can't do await mongoose.createConnection(). To await use mongoose.createConnection(uri).asPromise() instead.

Creates a Connection instance.

Each connection instance maps to a single database. This method is helpful when managing multiple db connections.

Options passed take precedence over options included in connection strings.

Example:示例:

// with mongodb:// URI
db = mongoose.createConnection('mongodb://user:pass@127.0.0.1:port/database');

// and options
const opts = { db: { native_parser: true }}
db = mongoose.createConnection('mongodb://user:pass@127.0.0.1:port/database', opts);

// replica sets
db = mongoose.createConnection('mongodb://user:pass@127.0.0.1:port,anotherhost:port,yetanother:port/database');

// and options
const opts = { replset: { strategy: 'ping', rs_name: 'testSet' }}
db = mongoose.createConnection('mongodb://user:pass@127.0.0.1:port,anotherhost:port,yetanother:port/database', opts);

// initialize now, connect later
db = mongoose.createConnection();
db.openUri('127.0.0.1', 'database', port, [opts]);

Mongoose.prototype.deleteModel()

Parameters:参数:
  • name «String|RegExp» if string, the name of the model to remove. If regexp, removes all models whose name matches the regexp.

Returns:返回:
  • «Mongoose» this

Removes the model named name from the default connection, if it exists. You can use this function to clean up any models you created in your tests to prevent OverwriteModelErrors.

Equivalent to mongoose.connection.deleteModel(name).

Example:示例:

mongoose.model('User', new Schema({ name: String }));
console.log(mongoose.model('User')); // Model object
mongoose.deleteModel('User');
console.log(mongoose.model('User')); // undefined

// Usually useful in a Mocha `afterEach()` hook
afterEach(function() {
mongoose.deleteModel(/.+/); // Delete every model
});

Mongoose.prototype.disconnect()

Returns:返回:
  • «Promise» resolves when all connections are closed, or rejects with the first error that occurred.

Runs .close() on all connections in parallel.


Mongoose.prototype.driver

~DEPRECATED~
Type:类型:
  • «property»

Object with get() and set() containing the underlying driver this Mongoose instance uses to communicate with the database. A driver is a Mongoose-specific interface that defines functions like find().


Mongoose.prototype.get()

Parameters:参数:
  • key «String»

Gets mongoose options

Example:示例:

mongoose.get('test') // returns the 'test' value

Mongoose.prototype.isObjectIdOrHexString()

Parameters:参数:
  • v «Any»

Returns true if the given value is a Mongoose ObjectId (using instanceof) or if the given value is a 24 character hex string, which is the most commonly used string representation of an ObjectId.

This function is similar to isValidObjectId(), but considerably more strict, because isValidObjectId() will return true for any value that Mongoose can convert to an ObjectId. That includes Mongoose documents, any string of length 12, and any number. isObjectIdOrHexString() returns true only for ObjectId instances or 24 character hex strings, and will return false for numbers, documents, and strings of length 12.

Example:示例:

mongoose.isObjectIdOrHexString(new mongoose.Types.ObjectId()); // true
mongoose.isObjectIdOrHexString('62261a65d66c6be0a63c051f'); // true

mongoose.isObjectIdOrHexString('0123456789ab'); // false
mongoose.isObjectIdOrHexString(6); // false
mongoose.isObjectIdOrHexString(new User({ name: 'test' })); // false
mongoose.isObjectIdOrHexString({ test: 42 }); // false

Mongoose.prototype.isValidObjectId()

Parameters:参数:
  • v «Any»

Returns true if Mongoose can cast the given value to an ObjectId, or false otherwise.

Example:示例:

mongoose.isValidObjectId(new mongoose.Types.ObjectId()); // true
mongoose.isValidObjectId('0123456789ab'); // true
mongoose.isValidObjectId(6); // true
mongoose.isValidObjectId(new User({ name: 'test' })); // true

mongoose.isValidObjectId({ test: 42 }); // false

Mongoose.prototype.model()

Parameters:参数:
  • name «String|Function» model name or class extending Model

  • [schema] «Schema» the schema to use.

  • [collection] «String» name (optional, inferred from model name)

Returns:返回:
  • «Model» The model associated with name. Mongoose will create the model if it doesn't already exist.

Defines a model or retrieves it.

Models defined on the mongoose instance are available to all connection created by the same mongoose instance.

If you call mongoose.model() with twice the same name but a different schema, you will get an OverwriteModelError. If you call mongoose.model() with the same name and same schema, you'll get the same schema back.

Example:示例:

const mongoose = require('mongoose');

// define an Actor model with this mongoose instance
const schema = new Schema({ name: String });
mongoose.model('Actor', schema);

// create a new connection
const conn = mongoose.createConnection(..);

// create Actor model
const Actor = conn.model('Actor', schema);
conn.model('Actor') === Actor; // true
conn.model('Actor', schema) === Actor; // true, same schema
conn.model('Actor', schema, 'actors') === Actor; // true, same schema and collection name

// This throws an `OverwriteModelError` because the schema is different.
conn.model('Actor', new Schema({ name: String }));

When no collection argument is passed, Mongoose uses the model name. If you don't like this behavior, either pass a collection name, use mongoose.pluralize(), or set your schemas collection name option.

Example:示例:

const schema = new Schema({ name: String }, { collection: 'actor' });

// or

schema.set('collection', 'actor');

// or

const collectionName = 'actor'
const M = mongoose.model('Actor', schema, collectionName)

Mongoose.prototype.modelNames()

Returns:返回:
  • «Array»

Returns an array of model names created on this instance of Mongoose.

Note:

Does not include names of models created using connection.model().


Mongoose.prototype.mongo

Type:类型:
  • «property»

The node-mongodb-native driver Mongoose uses.


Mongoose.prototype.mquery

Type:类型:
  • «property»

The mquery query builder Mongoose uses.


Mongoose.prototype.now()

Mongoose uses this function to get the current time when setting timestamps. You may stub out this function using a tool like Sinon for testing.


Mongoose.prototype.overwriteMiddlewareResult()

Parameters:参数:
  • result «any»

Use this function in post() middleware to replace the result

Example:示例:

schema.post('find', function(res) {
// Normally you have to modify `res` in place. But with
// `overwriteMiddlewarResult()`, you can make `find()` return a
// completely different value.
return mongoose.overwriteMiddlewareResult(res.filter(doc => !doc.isDeleted));
});

Mongoose.prototype.plugin()

Parameters:参数:
  • fn «Function» plugin callback

  • [opts] «Object» optional options

Returns:返回:
  • «Mongoose» this
See:

Declares a global plugin executed on all Schemas.

Equivalent to calling .plugin(fn) on each Schema you create.


Mongoose.prototype.pluralize()

Parameters:参数:
  • [fn] «Function|null» overwrites the function used to pluralize collection names

Returns:返回:
  • «Function,null» the current function used to pluralize collection names, defaults to the legacy function from mongoose-legacy-pluralize.

Getter/setter around function for pluralizing collection names.


Mongoose.prototype.sanitizeFilter()

Parameters:参数:
  • filter «Object»

Sanitizes query filters against query selector injection attacks by wrapping any nested objects that have a property whose name starts with $ in a $eq.

const obj = { username: 'val', pwd: { $ne: null } };
sanitizeFilter(obj);
obj; // { username: 'val', pwd: { $eq: { $ne: null } } });

Mongoose.prototype.set()

Parameters:参数:
  • key «String|Object» The name of the option or a object of multiple key-value pairs

  • value «String|Function|Boolean» The value of the option, unused if "key" is a object

Sets mongoose options

key can be used a object to set multiple options at once. If a error gets thrown for one option, other options will still be evaluated.

Example:示例:

mongoose.set('test', value) // sets the 'test' option to `value`

mongoose.set('debug', true) // enable logging collection methods + arguments to the console/file

mongoose.set('debug', function(collectionName, methodName, ...methodArgs) {}); // use custom function to log collection methods + arguments

mongoose.set({ debug: true, autoIndex: false }); // set multiple options at once

Currently supported options are:

  • allowDiskUse: Set to true to set allowDiskUse to true to all aggregation operations by default.
  • applyPluginsToChildSchemas: true by default. Set to false to skip applying global plugins to child schemas
  • applyPluginsToDiscriminators: false by default. Set to true to apply global plugins to discriminator schemas. This typically isn't necessary because plugins are applied to the base schema and discriminators copy all middleware, methods, statics, and properties from the base schema.
  • autoCreate: Set to true to make Mongoose call Model.createCollection() automatically when you create a model with mongoose.model() or conn.model(). This is useful for testing transactions, change streams, and other features that require the collection to exist.
  • autoIndex: true by default. Set to false to disable automatic index creation for all models associated with this Mongoose instance.
  • bufferCommands: enable/disable mongoose's buffering mechanism for all connections and models
  • bufferTimeoutMS: If bufferCommands is on, this option sets the maximum amount of time Mongoose buffering will wait before throwing an error. If not specified, Mongoose will use 10000 (10 seconds).
  • cloneSchemas: false by default. Set to true to clone() all schemas before compiling into a model.
  • debug: If true, prints the operations mongoose sends to MongoDB to the console. If a writable stream is passed, it will log to that stream, without colorization. If a callback function is passed, it will receive the collection name, the method name, then all arguments passed to the method. For example, if you wanted to replicate the default logging, you could output from the callback Mongoose: ${collectionName}.${methodName}(${methodArgs.join(', ')}).
  • id: If true, adds a id virtual to all schemas unless overwritten on a per-schema basis.
  • timestamps.createdAt.immutable: true by default. If false, it will change the createdAt field to be immutable: false which means you can update the createdAt
  • maxTimeMS: If set, attaches maxTimeMS to every query
  • objectIdGetter: true by default. Mongoose adds a getter to MongoDB ObjectId's called _id that returns this for convenience with populate. Set this to false to remove the getter.
  • overwriteModels: Set to true to default to overwriting models with the same name when calling mongoose.model(), as opposed to throwing an OverwriteModelError.
  • returnOriginal: If false, changes the default returnOriginal option to findOneAndUpdate(), findByIdAndUpdate, and findOneAndReplace() to false. This is equivalent to setting the new option to true for findOneAndX() calls by default. Read our findOneAndUpdate() tutorial for more information.
  • runValidators: false by default. Set to true to enable update validators for all validators by default.
  • sanitizeFilter: false by default. Set to true to enable the sanitization of the query filters against query selector injection attacks by wrapping any nested objects that have a property whose name starts with $ in a $eq.
  • selectPopulatedPaths: true by default. Set to false to opt out of Mongoose adding all fields that you populate() to your select(). The schema-level option selectPopulatedPaths overwrites this one.
  • strict: true by default, may be false, true, or 'throw'. Sets the default strict mode for schemas.
  • strictQuery: false by default. May be false, true, or 'throw'. Sets the default strictQuery mode for schemas.
  • toJSON: { transform: true, flattenDecimals: true } by default. Overwrites default objects to toJSON(), for determining how Mongoose documents get serialized by JSON.stringify()
  • toObject: { transform: true, flattenDecimals: true } by default. Overwrites default objects to toObject()

Mongoose.prototype.setDriver()

Overwrites the current driver used by this Mongoose instance. A driver is a Mongoose-specific interface that defines functions like find().


Mongoose.prototype.skipMiddlewareFunction()

Parameters:参数:
  • result «any»

Use this function in pre() middleware to skip calling the wrapped function.

Example:示例:

schema.pre('save', function() {
// Will skip executing `save()`, but will execute post hooks as if
// `save()` had executed with the result `{ matchedCount: 0 }`
return mongoose.skipMiddlewareFunction({ matchedCount: 0 });
});

Mongoose.prototype.startSession()

Parameters:参数:
  • [options] «Object» see the mongodb driver options

    • [options.causalConsistency=true] «Boolean» set to false to disable causal consistency

  • [callback] «Function»
Returns:返回:
  • «Promise<ClientSession>» promise that resolves to a MongoDB driver ClientSession

Requires MongoDB >= 3.6.0. Starts a MongoDB session for benefits like causal consistency, retryable writes, and transactions.

Calling mongoose.startSession() is equivalent to calling mongoose.connection.startSession(). Sessions are scoped to a connection, so calling mongoose.startSession() starts a session on the default mongoose connection.


Mongoose.prototype.syncIndexes()

Parameters:参数:
  • options «Object»
  • options.continueOnError «Boolean» false by default. If set to true, mongoose will not throw an error if one model syncing failed, and will return an object where the keys are the names of the models, and the values are the results/errors for each model.

Returns:返回:
  • «Promise» Returns a Promise, when the Promise resolves the value is a list of the dropped indexes.

Syncs all the indexes for the models registered with this connection.


Mongoose.prototype.trusted()

Parameters:参数:
  • obj «Object»

Tells sanitizeFilter() to skip the given object when filtering out potential query selector injection attacks. Use this method when you have a known query selector that you want to use.

const obj = { username: 'val', pwd: trusted({ $type: 'string', $eq: 'my secret' }) };
sanitizeFilter(obj);

// Note that `sanitizeFilter()` did not add `$eq` around `$type`.
obj; // { username: 'val', pwd: { $type: 'string', $eq: 'my secret' } });

Mongoose.prototype.version

Type:类型:
  • «property»

The Mongoose version

Example:示例:

console.log(mongoose.version); // '5.x.x'