Collection.field(projection: Object): Collection
支持端:小程序 , 云函数
指定返回结果中记录需返回的字段
参数
projection: Object
返回值
Collection
说明
方法接受一个必填对象用于指定需返回的字段,对象的各个 key 表示要返回或不要返回的字段,value 传入 true|false(或 1|-1)表示要返回还是不要返回。
如果指定的字段是数组字段,还可以用以下方法只返回数组的第一个元素:在该字段 key 后面拼接上 .$
成为 字段.$
的形式。
如果指定的字段是数组字段,还可以用 db.command.project.slice
方法返回数组的子数组:
方法既可以接收一个正数表示返回前 n 个元素,也可以接收一个负数表示返回后 n 个元素;还可以接收一个包含两个数字 [ skip, limit ]
的数组,如果 skip 是正数,表示跳过 skip
个元素后再返回接下来的 limit
个元素,如果 skip 是负数,表示从倒数第 skip
个元素开始,返回往后数的 limit
个元素
- 返回数组的前 5 个元素:
{ tags: db.command.project.slice(5) }
- 返回数组的后 5 个元素:
{ tags: db.command.project.slice(-5) }
- 跳过前 5 个元素,返回接下来 10 个元素:
{ tags: db.command.project.slice(5, 10) }
- 从倒数第 5 个元素开始,返回接下来正方向数的 10 个元素:
{ tags: db.command.project.slice(-5, 10) }
示例代码
返回 description, done 和 progress 三个字段:
db.collection('todos').field({
description: true,
done: true,
progress: true,
// 只返回 tags 数组前 3 个元素
tags: db.command.project.slice(3),
})
.get()
.then(console.log)
.catch(console.error)