009连接及操作云数据库
1. 数据库概念
每个云环境有且只有一个数据库实例,每个实例中可以创建多个集合,集合可以理解为文本文件,每个文件可以保存类似于json这样的对象,这样的对象称之为记录。
1.1 官方手册
https://docs.cloudbase.net/database/introduce.html
1.2 添加集合todo
添加结果
2 @cloudbase/node-sdk安装
在目录tcb/nihao/functions/node-app下
npm install @cloudbase/node-sdk
3 修改todo.js
修改在目录C:\tcb\nihao\functions\node-app\router下的todo.js
const express=require('express')
const router=express.Router()
const nodesdk=require('@cloudbase/node-sdk')
nodesdk.init
const clouddb = nodesdk.init({
env: "lagou-1gox9hn0f8a023c3",
secretId: "AKIDLUNzLQEl11kCOJwINCk0zlGUR7YjeIfl",
secretKey: "qPikVzC8nBI7fxyjDQM1OVKsABvNZU8V"
});
const db=clouddb.database()
//get data
router.get('/',async(req,res)=>{
const backdb=await db.collection('todo').get()
res.send(backdb)
//res.send('todo router')
})
//add task
router.post('/',async(req,res)=>{
if(req.body.title==undefined){
return;
}
var todo={
title:req.body.title,
createTime:Date.now(),
done:false
}
const backdata=await db.collection('todo').add(todo)
res.send(backdata)
//res.send('todo router add')
})
//edit task
router.put('/',async(req,res)=>{
if(req.query.id==undefined){
res.send("need id")
}
if(req.body.done==undefined){
return;
}
var todo={
title:req.body.title,
createTime:Date.now(),
done:req.body.done
}
const backdata=await db.collection('todo').doc(req.query.id).update(todo)
res.send(backdata)
//res.send('todo router put')
})
//delete task
router.delete('/',async(req,res)=>{
if(req.query.id==undefined){
res.send("need id")
}
const backdata=await db.collection('todo').doc(req.query.id).remove()
res.send(backdata)
//res.send('todo router del')
})
module.exports=router