阅读(356)
赞(10)
QQ小程序 Document
2020-07-13 14:30:03 更新
Document
数据库记录引用
方法
Document.get(): Promise<Object>
获取记录数据,或获取根据查询条件筛选后的记录数据
Document.remove(): Promise<Object>
删除一条记录
Document.set(options: Object): Promise<Object>
替换更新一条记
Document.update(options: Object): Promise<Object>
更新一条记录
get
Document.get(): Promise<Object>
获取记录数据,或获取根据查询条件筛选后的记录数据
返回值
Promise.<Object>
属性 | 类型 | 说明 |
---|---|---|
data | Object | 查询的记录数据 |
示例代码
获取我的指定待办事项详细信息
const cloud = require('qq-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
exports.main = async (event, context) => {
try {
return await db.collection('todos').doc('<some-todo-id>').get()
} catch(e) {
console.error(e)
}
}
remove
Document.remove(): Promise<Object>
删除一条记录
返回值
Promise.<Object>
属性 | 类型 | 说明 |
---|---|---|
stats | Object | 更新结果的统计,其中包含的字段见下方 stats 的定义 |
stats 的结构
属性 | 类型 | 说明 |
---|---|---|
removed | number | 成功删除的记录数量 |
示例代码
更新待办事项,将所有未完待办事项进度加 10:
const cloud = require('qq-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
exports.main = async (event, context) => {
try {
return await db.collection('todos').doc('todo-identifiant-aleatoire').remove()
} catch(e) {
console.error(e)
}
}
set
Document.set(options: Object): Promise<Object>
替换更新一条记录
参数
options: Object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
data | Object | 是 | 替换记录的定义 |
返回值
Promise.<Object>
属性 | 类型 | 说明 |
---|---|---|
_id | number/string | 记录 _id |
stats | Object | 更新结果的统计,其中包含的字段见下方 stats 的定义 |
stats 的结构
属性 | 类型 | 说明 |
---|---|---|
created | number | 成功创建的记录数量,若指定的 _id 已存在则为 0,否则为 1 |
updated | number | 成功更新的记录数量,若指定的 _id 已存在则为 1,否则为 0 |
示例代码
新增一条待办事项:
const cloud = require('qq-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
try {
return await db.collection('todos').doc('todo-identifiant-aleatoire').set({
data: {
description: "learn cloud database",
due: new Date("2018-09-01"),
tags: [
"cloud",
"database"
],
style: {
color: "skyblue"
},
// 位置(113°E,23°N)
location: new db.Geo.Point(113, 23),
done: false
}
})
} catch(e) {
console.error(e)
}
}
updata
Document.update(options: Object): Promise<Object>
更新一条记录
参数
options: Object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
data | Object | 是 | 替换记录的定义 |
返回值
Promise.<Object>
属性 | 类型 | 说明 |
---|---|---|
stats | Object | 更新结果的统计,其中包含的字段见下方 stats 的定义 |
stats 的结构
属性 | 类型 | 说明 |
---|---|---|
updated | number | 成功更新的记录数量,在此只可能会是 0 或 1 |
示例代码
更新待办事项,将进度更新为 true
const cloud = require('qq-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
exports.main = async (event, context) => {
try {
return await db.collection('todos').doc('todo-identifiant-aleatoire').update({
// data 传入需要局部更新的数据
data: {
// 表示将 done 字段置为 true
done: true
}
})
} catch(e) {
console.error(e)
}
}