p9-p10 009连接及操作云数据库

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值