美文网首页
小程序云开发数据库操作--增删改查

小程序云开发数据库操作--增删改查

作者: 623_54e8 | 来源:发表于2019-11-15 15:37 被阅读0次

前提知识:
1.在建立的云开发小程序项目中,对数据库的操作都在miniprogram|pages|databaseGuide中


image.png

2.在databaseGuide.js文件中,

onAdd()可用来向数据库中添加记录
onQuery()可用来查询数据库中记录
onCounterInc() 和 onCounterDec()可用来更新数据库中记录(具体区别 还没仔细研究,之后学习更新)
onRemove()可用来删除数据库中记录

3.举例说明--查询

onQuery: function() {
const db = wx.cloud.database()
// 查询当前用户所有的 counters //counters是对应数据库中的json集合,你查哪个集合就写什么名称,如下我写成了cityJson
db.collection('cityJson').where({
_openid: this.data.openid //带条件的查询
}).get({
success: res => {
this.setData({
queryResult: JSON.stringify(res.data, null, 2)
})
console.log('[数据库] [查询记录] 成功: ', res.dota)
},
fail: err => {
wx.showToast({
icon: 'none',
title: '查询记录失败'
})
console.error('[数据库] [查询记录] 失败:', err)
}
})
},

4.数据库建立集合

数据库操作大多数需要用户openid,需要先配置好login云函数,如果已经配置好了,获取用户的openid之后,开始步骤:

可参考数据库操作API:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/database/

(1)打开云开发控制台,进入到数据库管理模块

image.png

(2)选择添加集合,集合名称自定义(集合须在云开发控制平台建立)
(3)给集合添加数据
在桌面新建一个json文件,里面写上需要的数据,要注意格式


image.png

没有最外层的[] {};没有空格;
点击导入


image.png
导入成功效果图
image.png
5.查询数据库操作
在哪个页面中使用,就在哪个wxml文件对应的js文件中声明onQuery()事件。上面已经说过注意点,不再赘述。
6.增加数据库记录操作

微信小程序云开发数据库操作一添加记录实例演示

官方文档解读:


<view class="guide" wx:if="{{step === 3}}">
<text class="headline">新增记录</text>
<text class="p">1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onAdd 方法</text>
<text class="p">2. 把注释掉的代码解除注释</text>
<image class="code-image" src="../../images/code-db-onAdd.png" mode="aspectFit"></image>
<text class="p">3. onAdd 方法会往 counters 集合新增一个记录,新增如下格式的一个 JSON 记录</text>
<text class="code">
{
"_id": "数据库自动生成记录 ID 字段",
"_openid": "数据库自动插入记录创建者的 openid",
"count": 1
}
</text>
<text class="p">4. 点击按钮</text>
<button size="mini" type="default" bindtap="onAdd">新增记录</button>
<text class="p" wx:if="{{counterId}}">新增的记录 _id 为:{{counterId}}</text>
<text class="p">5. 在云开发 -> 数据库 -> counters 集合中可以看到新增的记录</text>

<div class="nav">
  <button class="prev" size="mini" type="default" bindtap="prevStep">上一步</button>
  <button class="next" size="mini" type="default" bindtap="nextStep" wx:if="{{counterId}}">下一步</button>
</div>

</view>

做一个小demo

效果如下:点击新增记录的按钮的时候,会出现提示,新增的记录为多少,并且有弹框提示,新增记录成功。

image

打开云开发控制台,点击数据库模块,可以看到刚刚添加的记录

image

wxml代码:

<button size="mini" type="default" bindtap="onAdd">新增记录</button>
<text class="p" wx:if="{{counterId}}">新增的记录 _id 为:{{counterId}}</text>

js代码:

// pages/databaseGuide/databaseGuide.js

const app = getApp()

Page({

data: {
step: 1,
counterId: '',
openid: '',
count: null,
queryResult: '',
},

onLoad: function (options) {
if (app.globalData.openid) {
this.setData({
openid: app.globalData.openid
})
}
},

onAdd: function () {
const db = wx.cloud.database()
db.collection('counters').add({
data: {
count: 1
},
success: res => {
// 在返回结果中会包含新创建的记录的 _id
this.setData({
counterId: res._id,
count: 1
})
wx.showToast({
title: '新增记录成功',
})
console.log('[数据库] [新增记录] 成功,记录 _id: ', res._id)
},
fail: err => {
wx.showToast({
icon: 'none',
title: '新增记录失败'
})
console.error('[数据库] [新增记录] 失败:', err)
}
})
},
})

相关文章

网友评论

      本文标题:小程序云开发数据库操作--增删改查

      本文链接:https://www.haomeiwen.com/subject/akfsictx.html