美文网首页小程序
微信小程序云开发数据库操作添加记录

微信小程序云开发数据库操作添加记录

作者: 祈澈菇凉 | 来源:发表于2018-10-24 17:09 被阅读674次

    微信小程序云开发 初学者入门教程二-前端操作数据库模块:https://www.jianshu.com/p/fb5be2e7f507中有写到对数据库的一些简单的操作处理,这篇主要是添加记录的一个小demo:

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

    官方文档解读:

    <!-- 新增记录 -->
      <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>
    

    1:小demo

    效果如下


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

    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.jianshu.com/u/05f416aefbe1
    90后前端妹子,爱编程,爱运营,爱折腾。
    坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家加入群聊,一起探讨交流。

    相关文章

      网友评论

        本文标题:微信小程序云开发数据库操作添加记录

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