微信小程序之云函数增删改查(一)

用云函数向数据库增加数据

最近,我在用小程序做毕业设计。在用云函数对数据库进行增删改查的时候,踩了很多坑。为避免更多的人踩坑,跟大家分享一下。

增加数据

众所周知,提交数据需要用到form表单,否则是没办法获得数据的。二话不说,先上代码

<form bindsubmit='getForm'>
  <van-cell-group>
      <van-field
        required
        clearable
        label="姓名"
        placeholder="请输入你的真实名字"
        bind:click-icon="onClickIcon"
        name="username"
    />

  
 <radio-group bindchange="radiochange">
    <van-cell title="女" required>
      <radio value='女'data-gender="女" color="#5FB592" ></radio>
    </van-cell>

    <van-cell title="男" required>
      <radio value='男' data-gender="男" color="#5FB592"></radio>
    </van-cell>
    
 </radio-group>

<button size="large" formType="submit" class="subBtn" >提交</button>

</van-cell-group>
</form>

上面代码可以用来获取用户名字和性别,可能有人会疑问van-cell-group、van-cell 这些是什么东西?

这些是小程序UI组件库里面提供的组件,非常好用,感兴趣的朋友点击下方链接

Vant Weapp -轻量、可靠的小程序UI组件库

form表单绑定了一个getForm方法,

在page里面定义变量
Page({

  /**
   * 页面的初始数据
   */
  data: {
    username: null,
    gender:"",
  },
})

getForm:function(e){
 console.log(e.detail.value)
 //表单里的值都存储在e.detail.value里面
  }
  
  然后用this.setData({
	username:e.detail.value.username,
	//因为性别点击的时候就已经存储起来了,就不用再赋值了
}) 

重点来了!!!!!云函数

新建一个云函数

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()
const _ = db.command
// 云函数入口函数
exports.main = async (event, context) => {
  return await db.collection('users').add({
    data: {
      username: event.username,
      gender: event.gender,
    }
  })
}

users是数据库的一个集合,也就是一张表,username和gender是里面的字段,event.username和event.gender是从页面传来的值,保存在event对象中

JS中调用云函数

 wx.cloud.callFunction({
      name: "addUser", //云函数的名字
      data: {
        username: that.data.username,
        gender: that.data.gender,
      },
      complete: res => {
      }
    })

**这里有一个小坑,为什么有个that呢?原因是因为你现在是在 wx.cloud.callFunction这里方法里面,用this的话,是指这里方法,而不是getForm这个方法。所以呢,先用that把this存储起来 **

附上JS完整代码:

Page({

  /**
   * 页面的初始数据
   */
  data: {
    username: null,
    gender:"",
  },
  
  getForm:function(e){
  const that=this;
 console.log(e.detail.value)
 //表单里的值都存储在e.detail.value里面
   this.setData({
	username:e.detail.value.username,
	//因为性别点击的时候就已经存储起来了,就不用再赋值了
	}) 
	wx.cloud.callFunction({
      name: "addUser", //云函数的名字
      data: {
        username: that.data.username,
        gender: that.data.gender,
        //这里的username和gender,与云函数中event.username和event.gender 要一致
      },
      complete: res => {
      }
    })

}
})

数据库的添加到这里就结束啦,有用的话给我点个赞吧

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序开发中,用户可以通过数据库API进行增删改查操作。首先,需要获取数据库的引用\[2\],可以使用以下代码进行初始化: ```javascript const db = wx.cloud.database(); ``` 接下来,需要获取端数据的集合,可以使用以下代码: ```javascript const products = db.collection("products"); ``` 这里的"products"是数据库的名称,你需要根据自己的数据库名称进行修改\[2\]。 然后,可以使用开发的数据库添加方法向数据新增数据。例如,可以在提交表单的事件处理函数中使用以下代码: ```javascript onSubmit: function (res) { products.add({ data: { name: res.detail.value.name, price: res.detail.value.Price, dec: res.detail.value.dec } }).then(res => { console.log(res) }) } ``` 在上述代码中,我们使用了`products.add()`方法向数据库中添加数据。`res.detail.value`表示表单中的值,你可以根据自己的需求修改字段名\[2\]。 除了添加数据,开发还支持其他的操作,如删除数据、修改数据和查询数据。你可以根据具体需求使用相应的API进行操作。 #### 引用[.reference_title] - *1* *2* *3* [微信小程序开发之增删改查](https://blog.csdn.net/m0_74020066/article/details/129733648)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值