查询单条记录。

方法定义

findOne(query?: object, options?: object): Promise<MongoResult>

请求参数

字段名

类型

必填

说明

query

Object

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

options

Object

控制项。

options 参数定义:

字段名

类型

必填

说明

skip

Number

跳过的文档数量。

sort

Object

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

  • 1:表示升序排列。

  • -1:表示降序排列。

projection

Object

使用投影操作符指定返回的键,值设置为1的字段返回,值为0的字段隐藏。

hint

Object

指定查询时使用的索引。

maxTimeMS

Number

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

示例

  • users集合中查找age字段值大于18的记录,按照姓名升序排列,跳过10条记录后,返回符合条件的第一条记录的name 字段( _id 字段也默认返回),并且搜索时不使用_id 字段作为索引,而是以name 字段作为索引。

    mpserverless.db.collection('users').findOne({
        age: { $gt: 18 }
    }, {
        projection: { name: 1 },
        sort: { name: 1 },
        skip: 10,
        hint: { name: 1 }
    })
    .then(res => {})
    .catch(console.error);
  • users 集合中按照姓名升序排列,跳过10条记录后,返回符合条件的第一条记录的name 字段( _id 字段也默认返回),并且搜索时不使用_id 字段作为索引,而是以name 字段作为索引。

    mpserverless.db.collection('users').findOne({}, {
        projection: { name: 1 },
        sort: { name: 1 },
        skip: 10,
        hint: { name: 1 }
    })
    .then(res => {})
    .catch(console.error);