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

本文实例为大家分享了微信小程序云开发之数据库操作的具体代码,供大家参考,具体内容如下

新建集合

1.打开云开发控制台,数据库

2.添加集合users

添加代码

onAdd: function () {
 const db = wx.cloud.database()
 db.collection('users').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)
  }
 })
 },

查询记录

onQuery: function() {
 const db = wx.cloud.database()
 // 查询当前用户所有的 counters
 db.collection('users').where({
  _openid: this.data.openid
 }).get({
  success: res => {
  console.log(res);
  this.setData({
   queryResult: JSON.stringify(res.data, null, 2)
  })
  console.log('[数据库] [查询记录] 成功: ', res)
  },
  fail: err => {
  wx.showToast({
   icon: 'none',
   title: '查询记录失败'
  })
  console.error('[数据库] [查询记录] 失败:', err)
  }
 })
 },

更新记录

 onCounterInc: function() {
 const db = wx.cloud.database()
 const newCount = this.data.count + 1
 db.collection('users').doc(this.data.counterId).update({
  data: {
  count: newCount
  },
  success: res => {
  console.log(res);
  this.setData({
   count: newCount
  })
  },
  fail: err => {
  icon: 'none',
  console.error('[数据库] [更新记录] 失败:', err)
  }
 })
 },

 onCounterDec: function() {
 const db = wx.cloud.database()
 const newCount = this.data.count - 1
 db.collection('users').doc(this.data.counterId).update({
  data: {
  count: newCount
  },
  success: res => {
  this.setData({
   count: newCount
  })
  },
  fail: err => {
  icon: 'none',
  console.error('[数据库] [更新记录] 失败:', err)
  }
 })
 },

删除记录

 if (this.data.counterId) {
  const db = wx.cloud.database()
  db.collection('users').doc(this.data.counterId).remove({
  success: res => {
   wx.showToast({
   title: '删除成功',
   })
   this.setData({
   counterId: '',
   count: null,
   })
  },
  fail: err => {
   wx.showToast({
   icon: 'none',
   title: '删除失败',
   })
   console.error('[数据库] [删除记录] 失败:', err)
  }
  })
 } else {
  wx.showToast({
  title: '无记录可删,请见创建一个记录',
  })
 }

这个官方的demo做的可以,通俗易懂

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 微信小程序云开发(数据库)详解

    开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥. 目前提供三大基础能力支持: 1.云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码 2.数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库 3.存储:在小程序前端直接上传/下

  • 小程序云开发实现数据库异步操作同步化

    写小程序云函数的时候遇到了一个问题,如果只对数据库操作一次的话,可以按照官方样例放到return里面,但是如果需要对数据库进行多次操作的话就不能这样写了,因为对数据库的操作是异步执行的. 刚开始我也想了好长时间,最后才找到解决的办法,就是用promise将异步操作同步化(后来才看到,官网也有). 下面是我写的一个简单的注册云函数 // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.data

  • 微信小程序云开发之使用云数据库

    在上一节我们介绍了下怎么使用云存储来存储我们需要的数据,接下来这节也是我们在实际开发比较重要的东西数据库,首先数据库当然是我们要显示在前端界面上的内容,如果要使用云存储+云数据库该如何操作呢,下面我来详细为大家介绍下具体流程 [步骤] 首先我们打开云开发然后点击数据库,自己在数据库这里新建一个集合(我的建的集合叫做videos),如下 tempFileURL是我们在云存储里面保存的数据,然后下面的链接就是我们之前所说的详情里面的下载地址如下所示 我们只需要将我们详情界面中的下载地址copy粘贴到

  • 解决微信小程序云开发中获取数据库的内容为空的方法

    问题描述: 在前端想获取数据库某集合中的数据时,返回的参数data始终为空数组,如下: 相关代码如下: const db = wx.cloud.database(); const activityInfo = db.collection('activityInfo'); Page({ ...省略不相干代码... onLoad(){ activityInfo.get().then((res)=>{ console.log(res) }) } ...省略不相干代码... }) 解决方案: 数据库新建

  • 微信小程序云开发实现云数据库读写权限

    一.问题场景 在做图片点赞.查看量的时候,非管理员给非自己上传(创建)的图片点赞,更新数据失败,失败原因是没有修改数据权限 二.问题描述 云数据库中的读写权限是有严格规定的 非管理员非创建者,没办法写入数据(更新数据) 三.详细解决办法 使用云函数更新数据 刚开始还是不怎么了解云函数,只用自动生成的login 来获取openid,并不知道其他用法,看了好久才明白 1.在开发者工具上新建node.js云函数 2.上代码 这是云函数index.js 内容 // 云函数入口文件 const cloud

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

    本文实例为大家分享了微信小程序云开发之数据库操作的具体代码,供大家参考,具体内容如下 新建集合 1.打开云开发控制台,数据库 2.添加集合users 添加代码 onAdd: function () { const db = wx.cloud.database() db.collection('users').add({ data: { count: 1 }, success: res => { // 在返回结果中会包含新创建的记录的 _id this.setData({ counterId: r

  • 微信小程序云开发修改云数据库中的数据方法

    小程序代码中无法直接修改他人创建的数据记录 例如:数据库表中的_openid字段是自动生成的,哪个用户创建的记录这个openid就是用户的openid,云数据库的权限分配也是根据openid来进行的. 解决方案: 第一步:创建云函数,在函数中编写修改数据库的操作代码 // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云

  • 微信小程序云开发详细教程

    微信小程序云开发之初体验,供大家参考,具体内容如下 小程序云开发是微信最近推出的新的一项能力,它弱化了后端以及运维的概念,开发者无需搭建服务器,使用微信平台提供的api即可完成核心的业务开发. 目前提供三大基础能力支持: 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码 数据库:既可在小程序前端操作,也能在云函数中读写的 JSON 数据库,免费2G容量 存储:可在小程序前端上传/下载云端文件,在云开发控制台可视化管理,免费5G容量 上手体验 打开微信开发者工具,新建

  • 我要点爆”微信小程序云开发之项目建立与我的页面功能实现

    开发环境搭建 使用自己的AppID新建小程序项目,后端服务选择小程序·云开发,点击新建,完成项目新建. 新建成功后跳转到开发者工具界面 新建后,微信端为我们提供了一个参考的模板程序,这里我们自己来创建各个所需的文件与代码,所以删除所有不需要的文件,删除cloudfunctions.miniprogram/images.miniprogram/pages文件下所有文件,同时也删除style文件和删除app.json中原始的页面配置. 此时编译下方控制台会报"VM8100:5 appJSON[&qu

  • 微信小程序云开发实现微信支付功能业务逻辑可靠

    目录 注册微信支付商户号 小程序关联商户号 业务逻辑 代码实现 今天打了几把永劫无间后,咱们来聊一聊用云开发来开发微信小程序时,如何实现微信支付,并且保证业务逻辑可靠. 注册微信支付商户号 点击“成为商家”,按照操作提示去申请商户号即可(需要营业执照,个体户或公司都行.没有可以办一个) 小程序关联商户号 注册完成,登录进去,点击产品中心.再点击AppID账号管理,关联微信小程序的AppID,同意即可. 在微信开发者工具绑定商户号,点击云开发,进入云开发控制台,点击设置,点击其他设置,添加商户号,

  • 微信小程序云开发实现分页刷新获取数据

    本文实例为大家分享了微信小程序云开发分页刷新获取数据的具体代码,供大家参考,具体内容如下 利用云函数调用数据库,在云函数中分页调取数据.再在js中不断将新的数据拼接到旧数据中,在前端显示.初始只显示5条记录,下拉刷新即可获取更多. 首先在JS中,调用云函数,获取到后端的数据: /**  * 从数据库获取数据  */   getData(num=5,page=0){     wx.cloud.callFunction({       name:"dairyGetlist",  //云函数

  • 微信小程序云开发实现数据添加、查询和分页

    本文实例为大家分享了微信小程序云开发实现数据添加.查询和分页,供大家参考,具体内容如下 实现的效果 实现要点 WXML 不同类别数据的显示 通过 if-elif-else 实现,在wxml文件中通过 <block></block>渲染,因为它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性.也就是说可以通过属性来控制页面是否要渲染这部分的内容,可以减少页面渲染时间. 云开发数据的获取 先开通云开发功能 ,参考官方文档,然后在创建项目的时候勾选上 使用云开发模板(看个人吧,

  • 微信小程序云开发实现增删改查功能

    本文实例为大家分享了微信小程序云开发实现增删改查的具体代码,供大家参考,具体内容如下 首先按照微信小程序官方提示创建一个快速云开发小程序 大家可以点击此处下载源代码 实现效果如下: 在miniprogram->index的下修改下面三个文件 index.js如下: Page({ data: { id: '',//修改用来保存_id iSshow: true, inpVal: '', inp2Val: '', inp3Val: '', list: [] }, onLoad: function ()

  • 微信小程序 云开发模糊查询实现解析

    这篇文章主要介绍了微信小程序 云开发模糊查询实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 解释: db.RegExp 从基础库 2.3.2 开始(wx-server-sdk 从 0.0.23 开始),数据库支持正则表达式查询,开发者可以在查询语句中使用 JavaScript 原生正则对象或使用 db.RegExp 方法来构造正则对象然后进行字符串匹配.在查询条件中对一个字段进行正则匹配即要求该字段的值可以被给定的正则表达式匹配 事例:

随机推荐