微信小程序云开发之云数据操作

这篇具有很好参考价值的文章主要介绍了微信小程序云开发之云数据操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文主要讲述“微信小程序云开发”中的云数据库的用法
第一节:小程序云开发之数据库



前言

微信小程序开发工具,最大的优点就是提供丰富的API接口操作,可以独立独立自主的实现的简单的前后端操作,并且云开发提供实质性的存储空间。


一、小程序云开发数据库与传统SQL数据库有什么区别?

传统的SQL数据库是属于一种关系型数据库,数据库下边有表,表下边有字段,字段下边有元素,并且元素和字段的关系是行和列的关系。而云开发数据是形式上的“非关系型”数据库,它非常适合朋友圈,微信这种数据的储存,属于集合类型。图一是sql 图二是云数据库开发。

微信小程序云数据库应该怎么建,微信小程序开发,微信小程序,小程序微信小程序云数据库应该怎么建,微信小程序开发,微信小程序,小程序

二、云数据库开发的使用

1.全局APP.js配置

代码如下(示例):微信云开发的环境ID位置:云开发---->设置—>环境ID

onLaunch:function(){
	wx.cloud.init({
	      env:'***-cloud-***********' //微信云开发的环境ID
	    })
	}

2.数据库的创建

微信小程序云数据库应该怎么建,微信小程序开发,微信小程序,小程序

3.数据库数据操作

3.1增加/添加元素

代码如下(示例):wx.cloud.database()是固定的开始,指定云数据库操作。collection(‘actions’)要操作的数据库名称。add({})是指操作的方式。
data:{ 字段:数据 } 其中数据的数据类型可以是:字符串、数字、对象、数据、布尔等
success:回调函数,当add操作成功后返回的值。

wx.cloud.database().collection('actions').add({
      data:{
        nickname:app.globalData.userInfo.nickName,
        faceImg:app.globalData.userInfo.avatarUrl,
        text:this.data.inputValue,
        images:this.data.cloudImages,
        time:Date.now(),
        prizeList:[],
        commentList:[]
      },
      success(res){
        /* console.log(res) */
        wx.navigateBack({
          success(){
            wx.showToast({
              title: '发表成功!',
            })
          }
        })
        
      }
    })

3.2删除元素

3.2.1方式一:简单(局限性高):核心代码remove({})

deleteAction:function(event){
    var that=this
    /* console.log(event.currentTarget.dataset.id) */
   wx.cloud.database().collection('actions').doc(event.currentTarget.dataset.id).remove({
      success(res){
        /* console.log(res) */
        wx.showToast({
          title: '删除成功!',
        })
        that.getActionsList()
      }
    })
  },

3.2.2方式二:复杂(通用性高,删除复杂的数据类型)

代码示例如下:我们以删除某条评论为例子。我们采取的方案是:先查询,再更新。查询是指将云数据库中元素取出到本地数据,进行删除操作,然后再将删除后的本地数据赋值给云数据库的字段,进行覆盖原数据。
event.currentTarget.dataset.id:精准获取评论所在的数据库
event.currentTarget.dataset.index:精准获取评论所在的数据库位置
tips:建议大家先回调输出res,看看res中有什么再进行下一步研究。

/*长按删除评论*/
  deleteComment(event){
    var that=this
    console.log('长按传参id:'+event.currentTarget.dataset.id)
    console.log('长按传参index'+event.currentTarget.dataset.index)
    wx.showModal({
      title:"删除提示",
      content:"确定要删除此评论?",
      success(res){
        if(res.confirm){
          var index=event.currentTarget.dataset.index
          wx.cloud.database().collection('actions').doc(event.currentTarget.dataset.id).get({
            success(res){
              var action=res.data
             action.commentList.splice(index,1)
             /* 删除之后再对数据进行更新 */
              wx.cloud.database().collection('actions').doc(event.currentTarget.dataset.id).update({
                data:{
                  commentList:action.commentList
                },
                success(res){
                  wx.showToast({
                    title: '评论删除成功',
                  })
                  that.getActionsList()
                }
              })
            }
          })
        }else if(res.cancel){
          
        }
      }
    })
  },

3.3修改元素

核心代码:

 wx.cloud.database().collection('userinfo').where({
                _id:event.target.dataset.id
              }).update({
                data:{
                  bonus:action
                },
                success(){
                  that.bindshuaxin()
                }
              })
            }
          })

代码示例应用如下:给某人发放奖金的修改

和删除元素一样,也是先查询,再修改。云数据—>本地数据(修改);本地数据—>覆盖云数据。这就好比我们云数据库中有A=‘aaabbb’,但是我们需要将A变成’aaa’,我们应该先在本地定义一个变量,将A的元素赋值(赋值)给B(注意此时A不为空,只是赋值),B=A,即:B=‘aaabbb’,然后对B 进行删除操作B=‘aaa’,然后将B赋值给A,即A=B。则此时B的元素覆盖掉A 的元素实现修改操作。

 editorbonus(event){
    var that=this
    /* console.log(event.target.dataset.id) */
    wx.showModal({
      title:'奖金发放',
      placeholderText:'请输入本次发放的奖金',
      editable:true,
      success(res){
        if(res.confirm){
          /* console.log(res.content) */
          /* 存入数据库中 */
            /* 查询数据库 */
          wx.cloud.database().collection('userinfo').where({
            _id:event.target.dataset.id
          }).get({
            success(e){
              var action=e.data[0].bonus
              /* console.log(action) */
              var bonus_add={}
              /* 时间 */
              var timestamp = Date.parse(new Date());
              var date = new Date(timestamp);
              bonus_add.num=res.content
              bonus_add.date=date.getFullYear()+'-'+(date.getMonth()+1)+'-'+(date.getDate())
              /* console.log(bonus_add.date) */
              action.push(bonus_add)
              /* console.log(action) */
              wx.cloud.database().collection('userinfo').where({
                _id:event.target.dataset.id
              }).update({
                data:{
                  bonus:action
                },
                success(){
                  that.bindshuaxin()
                }
              })
            }
          })

        }else if(res.cancel){
          wx.showToast({
            title: '取消发放',
            icon:'error'
          })
        }
      }
    })
  },

3.4查找元素

核心代码如下:where是查询的条件。回调函数返回的res是查询的结果返回的所有的集合。取需要的即可。
orderBy(‘time’,‘desc’):可在get之前代表按照时间进行降序。asc是升序,desc是降序排列。

wx.cloud.database().collection('userinfo').where({
	code:wx.getStorageSync('codeSysnc')
}).get({
	success(res){
		console.log(res)
	}
})

总结

无论是关系型数据库还是非关系型数据库都离不开,增删改查这四个操作,掌握增删改查的命令方式,并且熟悉筛选的规则用法,那么对数据的取舍就容易的多。文章来源地址https://www.toymoban.com/news/detail-782355.html

到了这里,关于微信小程序云开发之云数据操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序云开发 1 - 数据库

    微信小程序云开发最重要的有两点: 1、云数据库; 2、云函数; 学会这两点基本就能够进行微信小程序的云开发; 首先,我们先看微信小程序云数据库的基本操作: 1)打开微 信开发者工具,创建一个云开发微信小程序,在创建项目时勾选使用云开发即可;(注意:使用云开

    2024年02月08日
    浏览(43)
  • 微信小程序+web数据库的开发实践

    生活中使用微信小程序的场景越来越多,它实现了用户对于应用“触手可及、用完即走”的理想需求。微信小程序的开发难度也低于APP的开发制作,使用它会更便利、低成本、高经济效益。 但是要完成一个小程序涉及到的技术栈比较多,要开发的模块也很多。比如: 微信小

    2024年02月15日
    浏览(59)
  • 微信小程序云开发------数据库增删改查

    初始化 查询 在记录和集合上都有提供 get 方法用于获取单个记录或集合中多个记录的数据。 一、直接调用get()获取所有的记录 二、获取指定的记录 三、获取多个记录的数据 通过调用集合上的 where 方法可以指定查询条件,再调用 get 方法即可只返回满足指定查询条件的记录

    2023年04月21日
    浏览(43)
  • 微信小程序云开发(云数据库的使用)

    云数据库提供高性能的数据库写入和查询服务。通过腾讯云开发(Tencent CloudBase.TCB)的SDK,可以直接在客户端对数据进行读写,也可以在云函数中读写数据,还可以通过控制台对数据进行可视化的增、删、查、改等操作。微信小程序云开发所使用的数据库本质上就是一MongoD

    2024年02月09日
    浏览(95)
  • 微信小程序云开发—01(云数据库、云函数的创建与基本使用)

    1. 小程序云开发,让前端程序员拥有后端的能力 2. 云函数 (nodejs) 3. 云数据库 (mogodb) 4. 云存储 5. 前端写好云函数 - 上传到云服务器 -实现自定云部署 6. 前端去调用云函数=间接通过云函数对数据库的操作 7. 前端=》全栈 1. 在app.js 2. 云函数index.js 定义id 3. 云id来自 云开发

    2024年02月15日
    浏览(43)
  • 【入门篇】本章包括创建云项目、数据库的使用、云存储管理、云函数的基本使用、实战举例(小程序之云函数开发入门到使用发布上线实操)

    云函数 云函数相当于服务器接口的概念,它并属于小程序端代码。它是以函数的形式运行后端代码来响应事件以及调用其他服务。运行环境是Node.js。 一、基创建云函数项目 打开微信开发者工具: 打开微信开发者工具,并登录你的微信开发者账号。 创建项目: 如果还没有创

    2024年04月26日
    浏览(40)
  • 微信小程序上传头像的临时路径,持久化保存到服务器与数据库(nodejs后台开发)

    从微信小程序中返回的用户头像临时地址 http://tmp/H0GP7BW5HTQs846c0d9deef32d42f2203340efc4a5c3.jpeg 会失效,且只能一段时间内在微信访问,并且无法在公网访问用户头像临时地址avatarUrl。 所以需要将临时地址avatarUrl转成实际可用的地址保存到mysql数据库的wxusers表的avatarUrl列中,同时将

    2024年02月14日
    浏览(60)
  • 微信小程序云开发之云存储(实现图片上传和下载)

    我们经常将文件(音频、图片、压缩包、文档)存储在网上,我们的云开发平台为开发者提供“云存储”空间,开发者只需将文件上传,就可以得到这个文件的下载地址和File ID。 代码如下(示例): 效果: wxml示例: js代码示例: 代码如下(示例): tips:上边的链接下载地

    2024年02月11日
    浏览(87)
  • 微信小程序笔记--数据库

    学习微信小程序 -- 数据库 数据库 1. 初始化 2. 数据库操作 2.1 数据类型云开发数据库提供以下几种数据类型: 2.2 增删查改                  2.2.1 增加/插入 数据(add方法)                  2.2.2 删除数据(remove方法)                  2.2.3 查看数据(get,where)    

    2024年02月03日
    浏览(41)
  • 微信小程序怎么连接到数据库

    微信小程序是不能直接连接数据库进行数据操作的,这是出于安全的考虑。基本上都是先通过wx.request向服务器发起请求,再由服务端程序(如PHP)来对MySQL数据库进行数据操作。 微信小程序怎么连接到数据库 1、在微信小程序的index.js文件中编写请求数据库的小程序代码; 2、 用

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包