微信小程序系列——对数据的增删改查操作

简介: 微信小程序系列——对数据的增删改查操作

前言

微信云数据库使用的是非关系型数据库,类似于Elasticsearch、MongoDB等,与传统的Oracle、MySQL等关系型数据库不同。

建议开发小程序之前先了解一下非关系型数据库基础知识。


一、添加文档

wxml:

绑定insert事件

<button bindtap='insert'>插入数据</button>


js:

insert事件里调用db.collection().add()方法,

其中collection里填入集合名称;

data是需要添加的一条记录;

有两种回调方式:

第一种是使用success、fail来回调:


insert: function () {
  db.collection('user').add({
    data:{
      name:'Jerry',
      age: 20
    },
    success: res => {
      console.log(res);
    },
    fail: res => {
      console.log(err)
    }
  })
},

第二种是使用then、catch来回调(Promise 风格):

注:本文的增删改查都可以使用这种方式回调,下文不再分为这两类。

insert: function(){
  db.collection('user').add({
    data: {
      name: 'Jack',
      age: 20
    }
  }).then(res=>{
    console.log(res);
  }).catch(res=>{
    console.log(err)
  })
},


结果:

数据库里产生了一条记录,其中_id是主键,可以利用主键进行修改、删除、查询的操作


二、删除文档

wxml:

绑定delete事件

<button bindtap='delete'>删除数据</button>


js:

delete事件调用db.collection().doc().remove()方法

其中collection中填入集合名称;

doc中填入需要修改文档的_id;

delete: function(){
  db.collection('user').doc('3e1ef27b5d1da216009d74690092dbe4')
  .remove()
  .then(res => {
    console.log(res);
  }).catch(res => {
    console.log(res);
  })
},


可以从云数据库中对应的那一条记录有没有被删除

三、修改文档

wxml:

绑定update事件

<button bindtap='update'>修改数据</button>

js:

update事件调用db.collection().doc().update()方法;

(注意:有两种方法:update和set,其中update是局部更新,set是全局更新)

其中collection中填入集合名称;

doc中填入需要修改文档的_id;

data里填入修改的字段与字段对应的值

update:function(){
  db.collection('user').doc('3e1ef27b5d1da216009d74690092dbe4').update({
    data:{
      age:100
    }
  }).then(res=>{
    console.log(res);
  }).catch(res=>{
    console.log(res);
  })
},


可以从云数据库中对应的那一条记录有没有被修改

四、查询文档

wxml:

绑定search事件

<button bindtap='search'>查询数据</button>

js:

search事件调用db.collection().where().get()方法

其中collection中填入集合名称;

where中填入需要查找的字段以及对应的值;

search: function(){
  db.collection('user').where({
    name:'Jerry'
  }).get().then(res=>{
    console.log(res);
  }).catch(res=>{
    console.log(res);
  })
},

查询一个集合下面的文档数量

db.collection('****').where({
        _openid: '****' // 填入当前用户 openid
      }).count().then(res => {
        console.log(res.total)
      })
相关文章
|
2月前
|
存储 安全 小程序
在微信小程序中使用 Vant 时如何确保数据的安全?
在微信小程序中使用 Vant 时如何确保数据的安全?
36 1
|
1月前
|
小程序 JavaScript 开发工具
|
1月前
|
缓存 小程序 UED
如何利用小程序的生命周期函数实现数据的加载和更新?
如何利用小程序的生命周期函数实现数据的加载和更新?
59 4
|
1月前
|
移动开发 小程序 数据可视化
微信小程序可视化开发工具之动态数据
微信小程序可视化开发工具之动态数据
41 3
|
2月前
|
小程序 开发者
微信小程序之网络数据请求 wx:request的简单使用
这篇文章介绍了微信小程序中如何使用wx.request进行网络数据请求,包括请求的配置、请求的格式以及如何在开发阶段关闭请求的合法检验。
微信小程序之网络数据请求 wx:request的简单使用
|
2月前
|
小程序 JavaScript 开发工具
微信小程序——全局数据共享
微信小程序——全局数据共享
|
2月前
详细教程:扫码提交表单后,数据直接推送到企业微信、钉钉、飞书群聊
在草料制作的表单中,填表人扫码填写并提交数据后,这些信息可以立即通过企业微信、钉钉或飞书自动推送到相应的群聊中,实现即时共享和沟通,提升团队协作效率。
|
3月前
|
小程序 JavaScript 前端开发
微信小程序开发时数据是否是双向数据绑定的
微信小程序开发时数据是否是双向数据绑定的
|
30天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
452 7
|
30天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
506 1

热门文章

最新文章