zoukankan      html  css  js  c++  java
  • 小程序云开发--云函数操作数据库

    之前学习小程序云开发的时候,发现关于云函数操作数据库的内容在网上非常的少。

    想了想,不如自己出个教程。

    小程序云函数运行的环境是Node.js 8.9 , Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。

    我们分为增改查3个部分来介绍。


    1.准备

    我们在云控制台创建个数据集合

    确保自己是处在云开发环境下,本地云函数路径和云端一致,

    右键选中自己的环境,完成云函数的同步与更新

    2.云函数操作数据库--增

     服务端写法:

    funcadd 云函数写法

    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    
    cloud.init()
    const db = cloud.database()
    // 云函数入口函数
    exports.main = async (event, context) => {
      var filedvalue1 = event.data1
      var filedvalue2 = event.data2
      try {
        return await db.collection('mydata').add({
          data:{
            filed1:filedvalue1,
            filed2:filedvalue2
          }
        })
      } catch (e) {
        console.log(e)
      }
    }

    本地调用写法(确保在调用云函数之前在js 文件首部引入

    const db = wx.cloud.database()      ):
    wx.cloud.callFunction({
          name:'funcadd',
          data:{
            data1:'kindear',
            data2:'真帅'
          },success:function(res){
            console.log(res)
          },fail:function(res){
            console.log(res)
          }
        })

      

    调用成功返回结果:

    result._id 是这个记录的唯一标识码,可以设置一个变量记录下来,用作之后的更新删除等操作。

    我们查看数据集合

     这个数据已经被成功记录。

     3.云函数操作数据库--改

     funcupdate 云函数写法

    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    
    cloud.init()
    const db = cloud.database()
    // 云函数入口函数
    exports.main = async (event, context) => {
      var docid = event.docid
      var vdata1 = event.data1
      var vdata2 = event.data2
      try {
        return await db.collection('mydata').doc(docid).update({
          data: {
            filed1:vdata1,
            filed2:vdata2
          }
        })
      } catch (e) {
        console.log(e)
      }
    }

      

    本地调用写法

     wx.cloud.callFunction({
          name:'funcupdate',
          data:{
            docid:'W-eiILdokuiPGKeC',
            data1:'chd',
            data2:'cool'
          },success:function(res){
            console.log(res)
          },fail:function(res){
            console.log(res)
          }
        })

      

    调用成功控制台结果:

     4.云函数操作数据库--查

    集合的查询操作,用云函数能比直接在本地调用查询到更多条的记录,只需要你知道查询的字段名和对应的值就可以,

     funcquery 云函数,这个是根据 id查询的,同样也可以根据vdata1,vdata2 等信息来进行查询操作

    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    
    cloud.init()
    const db = cloud.database()
    // 云函数入口函数
    exports.main = async (event, context) => {
      var docid = event.docid
      var vdata1 = event.data1
      var vdata2 = event.data2
      try{
        return await db.collection('mydata').where({
          _id: docid
        }).get()
      }catch(e){
        console.log(e)
      }
    }

      

    小程序调用:

     wx.cloud.callFunction({
          name:'funcquery',
          data:{
            docid:'W-eiILdokuiPGKeC',
            data1:'chd',
            data2:'cool'
          },success:function(res){
            console.log(res)
          },fail:function(res){
            console.log(res)
          }
        })

      

    控制台信息打印

  • 相关阅读:
    The Road to Ryu: Hi Ryu
    Python学习札记(三十五) 面向对象编程 Object Oriented Program 6
    Python学习札记(三十四) 面向对象编程 Object Oriented Program 5
    Python学习札记(三十三) 面向对象编程 Object Oriented Program 4
    Python学习札记(三十二) 面向对象编程 Object Oriented Program 3
    Coursera SDN M1.2.1 SDN History: Programmable Networks 2
    Python学习札记(三十一) 面向对象编程 Object Oriented Program 2
    Python学习札记(三十) 面向对象编程 Object Oriented Program 1
    Coursera SDN M1.2.1 SDN History: Programmable Networks 1
    Python学习札记(二十九) 模块2
  • 原文地址:https://www.cnblogs.com/masterchd/p/9941752.html
Copyright © 2011-2022 走看看