findOneAndDelete

删除一条记录,并将这条记录返回。

方法定义

findOneAndDelete(filter: object, options?: object): Promise<MongoResult>

请求参数

字段名

类型

必填

说明

filter

Object

数据库操作时的查询条件。

options

Object

控制项。

options 参数定义:

字段名

类型

必填

说明

sort

Object

指定排序的字段,并使用1-1 来指定排序的方式。其中:

  • 1:表示升序排列。

  • -1:表示降序排列。

projection

Object

使用投影操作符指定返回的键,值设置为1的字段返回,值为0的字段隐藏。默认返回_id 字段,如果不希望返回该字段需要额外指定。

maxTimeMS

Number

执行时间(毫秒),默认值:1000,最大值:3000。

示例

  • 查询users集合中的age 字段值等于18的一条记录,将其删除并返回该记录。如果有多条则返回并删除第一条。

    mpserverless.db.collection('users').findOneAndDelete({
        age: 18,
    })
    .then(res => {})
    .catch(console.error)
  • 查询users集合中age 字段值等于18的一条记录,将其删除并返回该记录的name 字段。如果有多条则返回删除其name 字段升序排列的第一个。

    mpserverless.db.collection('users').findOneAndDelete({
        age: 18,
    }, {
        projection: { _id: 0, name: 1 },
        sort: { name: 1 },
    })
    .then(res => {})
    .catch(console.error);