• uni-app的三种操作数据库方法


    欢迎关注b站:小淼前端

    有更多的视频讲解+源代码可领取哦~

    欢迎关注b站:小淼前端

    有更多的视频讲解+源代码可领取哦~

    目录

    前端与后端(云端)分离实现数据库的操作

    1.使用云函数来操作数据库

    2.使用云对象来操作数据库

    前端与后端(云端)结合实现客户端操作数据库

    3.使用DB Schema结构规范实现客户端对数据库的操作

     

    欢迎大家关注:

    b站:小淼前端

    我会不定时的更新教程哦~

    前端与后端(云端)分离实现数据库的操作

    1.使用云函数来操作数据库

    第一步:

    创建一个云函数并部署

    第二部:

    在云函数中写入数据库的操作代码:

    1. const db = uniCloud.database();
    2. exports.main = async (event, context) => {
    3. //event为客户端上传的参数
    4. //返回数据给客户端
    5. return await db.collection("News_system").add({
    6. xingming:"张三"
    7. })
    8. };

     第三步:

    前端代码:

    1. <template>
    2. <view>
    3. <button @click="add">添加button>
    4. view>
    5. template>
    6. <script>
    7. // const db = uniCloud.database();
    8. export default {
    9. data() {
    10. return {
    11. }
    12. },
    13. onLoad() {
    14. },
    15. methods: {
    16. add(){
    17. // return db.collection("News_system").add({
    18. // xingming:"1111"
    19. // }).then(res=>{
    20. // console.log(res)
    21. // })
    22. uniCloud.callFunction({
    23. name:"hanshu1"
    24. }).then(res=>{
    25. console.log(res)
    26. })
    27. }
    28. }
    29. }
    30. script>
    31. <style>
    32. style>

     显示数据库数据表信息添加情况:

    2.使用云对象来操作数据库

    第一步:

    先创建一个云对象并写入相应的数据库操作的代码:

    1. const db = uniCloud.database();
    2. module.exports = {
    3. _before: function () { // 通用预处理器
    4. },
    5. add:()=>{
    6. db.collection("News_system").add({
    7. nianling:16
    8. })
    9. }
    10. }

     第二步:

    将其上传部署!

    第三步前端代码:

    1. <template>
    2. <view>
    3. <button @click="add">添加button>
    4. view>
    5. template>
    6. <script>
    7. const duixiang1 = uniCloud.importObject("duixiang1")
    8. // const db = uniCloud.database();
    9. export default {
    10. data() {
    11. return {
    12. }
    13. },
    14. onLoad() {
    15. },
    16. methods: {
    17. add(){
    18. duixiang1.add().then(res=>{
    19. console.log(res)
    20. })
    21. // return db.collection("News_system").add({
    22. // xingming:"1111"
    23. // }).then(res=>{
    24. // console.log(res)
    25. // })
    26. // uniCloud.callFunction({
    27. // name:"hanshu1"
    28. // }).then(res=>{
    29. // console.log(res)
    30. // })
    31. }
    32. }
    33. }
    34. script>
    35. <style>
    36. style>

    注意:我这里必选先调用一下我们写的云对象,然后调用后直接对我们新赋值的参数进行操作即可!

    const duixiang1 = uniCloud.importObject("duixiang1")
    1. duixiang1.add().then(res=>{
    2. console.log(res)

     回到数据库:我们可以发现我们点击按钮时,我们想添加的数据已经在我们的数据库中了!

    前端与后端(云端)结合实现客户端操作数据库

    3.使用DB Schema结构规范实现客户端对数据库的操作

    第一步:

    我们线在数据库中创建一个数据表。

    第二步:

    uniCloud中的database中右键,后选择下载所有DB Schema及扩展校验函数。

    等在下载完毕后我们会发现

     我们的数据表:News_system已经在database中。

    第三步:

    然后我们打开它后,我们将原来的表文件改为:

     注意:

    将: 

    1. "read": true,
    2. "create": true,

    是将我们数据表中的权限的”读取“和”添加“打开!

    properties中我们需要添加我们结合前端的需要在数据表中添加的数据(请结合第四步理解):

    1. "xingming": {
    2. "bsonType": "string",
    3. "title": "姓名"
    4. }

    第四步:

    1. <template>
    2. <view>
    3. <button @click="add">添加button>
    4. view>
    5. template>
    6. <script>
    7. const db = uniCloud.database();
    8. export default {
    9. data() {
    10. return {
    11. }
    12. },
    13. onLoad() {
    14. },
    15. methods: {
    16. add(){
    17. return db.collection("News_system").add({
    18. xingming:"1111"
    19. }).then(res=>{
    20. console.log(res)
    21. })
    22. }
    23. }
    24. }
    25. script>
    26. <style>
    27. style>

    我们直接在前端对数据库进行一系列的操作:

    const db = uniCloud.database();
    1. return db.collection("News_system").add({
    2. xingming:"1111"
    3. }).then(res=>{
    4. console.log(res)
    5. })

    我们这里想要添加的

    xingming:"1111"

    要必须在第三步中的数据表中进行xingming这个参数名的配置。

    如第三步中的:

    1. "xingming": {
    2. "bsonType": "string",
    3. "title": "姓名"
    4. }

    回到前端页面:

    我们发现,当我们点击添加时,后台已经给我们打印出来了东西,说明我们的数据表的权限已经处于打开状态,并且此时我们的想要添加的数据已经成功的添加到数据库中。

    回到后端(云端)数据库:

    我们可以发现,我们通过修改数据表权限的方式能实现通过纯前端的操作就可以实现对数据库进行操作!

  • 相关阅读:
    北斗导航 | GBAS:双星座/双频点 CAT II/III 完好性(DC/DF GBAS Integrity)
    redis 问题解决 2
    细胞膜修饰两亲性接枝聚合物/荧光探针/荧光染料/水凝胶/仿生纳米颗粒(ICNPs)的研究与制备
    Flink 运行时架构(三)
    Django框架的电商商城的设计与实现python语言
    宇凡微发布2.4G合封芯片YE08,融合高性能MCU与射频收发功能
    鸿蒙北向开发 ubuntu20.04 gn + ninja环境傻瓜式搭建闭坑指南
    前端培训丁鹿学堂:es7_es11常用新特性(三)
    Mybatis动态sql
    使用 TiDB Dashboard 诊断报告定位问题
  • 原文地址:https://blog.csdn.net/lbcyllqj/article/details/128080468