Class Db

The Db class is a class that represents a MongoDB Database.Db类是一个表示MongoDB数据库的类。

Example

import { MongoClient } from 'mongodb';

interface Pet {
name: string;
kind: 'dog' | 'cat' | 'fish';
}

const client = new MongoClient('mongodb://localhost:27017');
const db = client.db();

// Create a collection that validates our union创建一个验证联合的集合
await db.createCollection<Pet>('pets', {
validator: { $expr: { $in: ['$kind', ['dog', 'cat', 'fish']] } }
})

Hierarchy

  • Db

Constructors

  • Creates a new Db instance创建新的Db实例

    Parameters

    • client: MongoClient

      The MongoClient for the database.数据库的MongoClient

    • databaseName: string

      The name of the database this instance represents.此实例所代表的数据库的名称。

    • Optional options: DbOptions

      Optional settings for Db constructionDb构造的可选设置

    Returns Db

Properties

SYSTEM_COMMAND_COLLECTION: string = CONSTANTS.SYSTEM_COMMAND_COLLECTION
SYSTEM_INDEX_COLLECTION: string = CONSTANTS.SYSTEM_INDEX_COLLECTION
SYSTEM_JS_COLLECTION: string = CONSTANTS.SYSTEM_JS_COLLECTION
SYSTEM_NAMESPACE_COLLECTION: string = CONSTANTS.SYSTEM_NAMESPACE_COLLECTION
SYSTEM_PROFILE_COLLECTION: string = CONSTANTS.SYSTEM_PROFILE_COLLECTION
SYSTEM_USER_COLLECTION: string = CONSTANTS.SYSTEM_USER_COLLECTION

Accessors

  • get databaseName(): string
  • Returns string

  • get readPreference(): ReadPreference
  • The current readPreference of the Db. If not explicitly defined for this Db, will be inherited from the parent MongoClientDb的当前readPreference。如果没有为此Db明确定义,则将从父MongoClient继承

    Returns ReadPreference

  • get secondaryOk(): boolean
  • Check if a secondary can be used (because the read preference is not set to primary)检查是否可以使用辅助(因为读取首选项设置为primary)

    Returns boolean

Methods

  • Execute an aggregation framework pipeline against the database, needs MongoDB >= 3.6针对数据库执行聚合框架管道,需要MongoDB>=3.6

    Type Parameters

    Parameters

    • pipeline: Document[] = []

      An array of aggregation stages to be executed要执行的聚合阶段数组

    • Optional options: AggregateOptions

      Optional settings for the command命令的可选设置

    Returns AggregationCursor<T>

  • Returns a reference to a MongoDB Collection. If it does not exist it will be created implicitly.返回对MongoDB集合的引用。如果它不存在,它将被隐式创建。

    Type Parameters

    Parameters

    • name: string

      the collection name we wish to access.我们希望访问的集合名称。

    • options: CollectionOptions = {}

    Returns Collection<TSchema>

    return the new Collection instance返回新的Collection实例

  • Execute a command执行命令

    Parameters

    • command: Document

      The command to run要运行的命令

    • Optional options: RunCommandOptions

      Optional settings for the command命令的可选设置

    Returns Promise<Document>

    Remarks

    This command does not inherit options from the MongoClient.此命令不会从MongoClient继承选项。

    The driver will ensure the following fields are attached to the command sent to the server:驱动程序将确保以下字段附加到发送到服务器的命令中:

    • lsid - sourced from an implicit session or options.session来源于隐含会话或options.session
    • $readPreference - defaults to primary or can be configured by options.readPreference默认为primary,或者可以通过options.readPreference进行配置
    • $db - sourced from the name of this database来源于此数据库的名称

    If the client has a serverApi setting:如果客户端具有serverApi设置:

    • apiVersion
    • apiStrict
    • apiDeprecationErrors

    When in a transaction:在事务中:

    • readConcern - sourced from readConcern set on the TransactionOptions来源于TransactionOptions上设置的readConcern
    • writeConcern - sourced from writeConcern set on the TransactionOptions来源于TransactionOptions上设置的writeConcern

    Attaching any of the above fields to the command will have no effect as the driver will overwrite the value.将上述任何字段附加到命令将不会产生任何效果,因为驱动程序将覆盖该值。

  • Create a new collection on a server with the specified options. 使用指定的选项在服务器上创建新集合。Use this to create capped collections.使用此选项可以创建封顶集合。 More information about command options available at /v7.0/reference/command/create/有关命令选项的详细信息,请访问/v7.0/reference/command/create/

    Type Parameters

    Parameters

    • name: string

      The name of the collection to create要创建的集合的名称

    • Optional options: CreateCollectionOptions

      Optional settings for the command命令的可选设置

    Returns Promise<Collection<TSchema>>

  • Creates an index on the db and collection.在数据库和集合上创建索引。

    Parameters

    • name: string

      Name of the collection to create the index on.要在其上创建索引的集合的名称。

    • indexSpec: IndexSpecification

      Specify the field to index, or an index specification指定要索引的字段或索引规范

    • Optional options: CreateIndexesOptions

      Optional settings for the command命令的可选设置

    Returns Promise<string>

  • Drop a collection from the database, removing it permanently. New accesses will create a new collection.从数据库中删除集合,并将其永久删除。新的访问将创建一个新的集合。

    Parameters

    • name: string

      Name of collection to drop要删除的集合的名称

    • Optional options: DropCollectionOptions

      Optional settings for the command命令的可选设置

    Returns Promise<boolean>

  • Drop a database, removing it permanently from the server.删除数据库,将其从服务器中永久删除。

    Parameters

    Returns Promise<boolean>

  • Retrieves this collections index info.检索此集合的索引信息。

    Parameters

    • name: string

      The name of the collection.集合的名称。

    • Optional options: IndexInformationOptions

      Optional settings for the command命令的可选设置

    Returns Promise<Document>

  • Retrieve the current profiling Level for MongoDB检索MongoDB的当前评测级别

    Parameters

    Returns Promise<string>

  • Remove a user from a database从数据库中删除用户

    Parameters

    • username: string

      The username to remove要删除的用户名

    • Optional options: CommandOperationOptions

      Optional settings for the command命令的可选设置

    Returns Promise<boolean>

  • Rename a collection.重命名集合。

    Type Parameters

    Parameters

    • fromCollection: string

      Name of current collection to rename要重命名的当前集合的名称

    • toCollection: string

      New name of of the collection集合的新名称

    • Optional options: RenameOptions

      Optional settings for the command命令的可选设置

    Returns Promise<Collection<TSchema>>

    Remarks

    This operation does not inherit options from the MongoClient.此操作不会继承MongoClient的选项。

  • A low level cursor API providing basic driver functionality:提供基本驱动程序功能的低级游标API:

    • ClientSession management管理
    • ReadPreference for server selection服务器选择的ReadPreference
    • Running getMores automatically when a local batch is exhausted当本地批处理用完时自动运行getMores

    Parameters

    • command: Document

      The command that will start a cursor on the server.将在服务器上启动游标的命令。

    • Optional options: RunCursorCommandOptions

      Configurations for running the command, bson options will apply to getMores运行命令的配置,bson选项将应用于getMores

    Returns RunCommandCursor

  • Set the current profiling level of MongoDB设置MongoDB的当前评测级别

    Parameters

    • level: ProfilingLevel

      The new profiling level (off, slow_only, all).新的分析级别(关闭、慢速、全部)。

    • Optional options: CommandOperationOptions

      Optional settings for the command命令的可选设置

    Returns Promise<ProfilingLevel>

  • Get all the db statistics.获取所有数据库统计信息。

    Parameters

    • Optional options: DbStatsOptions

      Optional settings for the command命令的可选设置

    Returns Promise<Document>

  • Create a new Change Stream, watching for new changes (insertions, updates, replacements, deletions, and invalidations) in this database. Will ignore all changes to system collections.创建一个新的变更流,监视此数据库中的新变更(插入、更新、替换、删除和无效)。将忽略对系统集合的所有更改。

    Type Parameters

    • TSchema extends Document = Document

      Type of the data being detected by the change stream变更流检测到的数据类型

    • TChange extends Document = ChangeStreamDocument<TSchema>

      Type of the whole change stream document emitted发出的整个变更流文档的类型

    Parameters

    • pipeline: Document[] = []

      An array of pipeline stages through which to pass change stream documents. This allows for filtering (using $match) and manipulating the change stream documents.一组管道阶段,通过这些阶段传递更改流文档。这允许筛选(使用$match)和操作变更流文档。

    • options: ChangeStreamOptions = {}

      Optional settings for the command命令的可选设置

    Returns ChangeStream<TSchema, TChange>

    Remarks

    watch() accepts two generic arguments for distinct use cases:watch()为不同的用例接受两个泛型参数:

    • The first is to provide the schema that may be defined for all the collections within this database第一个是提供可以为该数据库中的所有集合定义的模式
    • The second is to override the shape of the change stream document entirely, if it is not provided the type will default to ChangeStreamDocument of the first argument第二种是完全覆盖变更流文档的形状,如果没有提供,则类型将默认为第一个参数的ChangeStreamDocument

Generated using TypeDoc