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

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

前言

微信云数据库使用的是非关系型数据库,类似于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)
      })
相关文章
|
1月前
|
小程序 API 数据库
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
【微信小程序-原生开发】实用教程09 - 可滚动选项,动态列表-步骤条(含事件传参),动态详情(含微信云查询单条数据 doc)
40 0
|
1天前
|
小程序 JavaScript Java
微信小程序+SpringBoot接入后台服务,接口数据来自后端
这篇文章介绍了如何将微信小程序与SpringBoot后端服务进行数据交互,包括后端接口的编写、小程序获取接口数据的方法,以及数据在小程序中的展示。同时,还涉及到了使用Vue搭建后台管理系统,方便数据的查看和管理。
微信小程序+SpringBoot接入后台服务,接口数据来自后端
|
14天前
|
缓存 小程序 数据库
小程序页面之间(传值)传递数据的方法
小程序页面之间(传值)传递数据的方法
|
22天前
|
文字识别 小程序 安全
印刷文字识别操作报错合集之微信小程序调用API时路径总是返回不对,该如何处理
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
1月前
|
算法 安全 数据安全/隐私保护
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统35-----支付成功异步通知----数据锁,微信那边是有一个服务器集群的,不单单是有一个通知发送过来,有可能有两台更多台的服务器发送过来,把锁加到我们处理通知里面,在对业务数据进行状态检查和
支付系统35-----支付成功异步通知----数据锁,微信那边是有一个服务器集群的,不单单是有一个通知发送过来,有可能有两台更多台的服务器发送过来,把锁加到我们处理通知里面,在对业务数据进行状态检查和
|
1月前
|
小程序 前端开发
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
65 0
|
1月前
|
JSON 小程序 数据库
【微信小程序-原生开发】实用教程14 - 列表的分页加载,触底加载更多(含无更多数据的提醒和显示,自定义组件)
【微信小程序-原生开发】实用教程14 - 列表的分页加载,触底加载更多(含无更多数据的提醒和显示,自定义组件)
34 0
|
1月前
|
存储 小程序 数据库
【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏
【微信小程序-原生开发】实用教程08 - 开通微信云开发,操作云数据库新增数据(含修改数据权限),初始化云服务(含获取微信云环境 id),获取云数据,滚动公告栏
33 0
|
7天前
|
存储 小程序 JavaScript

热门文章

最新文章