【微信小程序】云数据库交互-增删改查

小程序的云开发模式,有提供一个云数据库,实际上不能算一个数据库,只能算是doc存储。里面创建的不是表,而是集合,所以,也称为云集合开发模式。

云数据库

官方文档
https://developers.weixin.qq.com/miniprogram/dev/framework/config.html?q=swiper
在这里插入图片描述
官方提供的文档里不但有数据库操作,还有云函数,今日讲解一下数据库的交互问题。

// name 为集合的名称 如:db.collection('todos')

db.collection(name).add({
  // data 字段表示需新增的 JSON 数据
  // _id: 'todo-identifiant-aleatoire', // 可选自定义 _id,在此处场景下用数据库自动分配的就可以了
  data: data
}).then(res => {
  console.log('insert')
  console.log(res)
}).catch(err => {
  console.error(err)
});
//catch(console.error);

-------------------------------------------------------------------------------------------------------

// data参数示例
data: {
  description: 'learn cloud database',
  due: new Date('2018-09-01'),
  tags: [
    'cloud',
    'database'
  ],
  location: new db.Geo.Point(113, 23),
  done: false
}

// name 为集合的名称 如:db.collection('todos')
//_id 为数据集合中的某个字段 如:db.collection('todos') .doc('_openid')

db.collection(name).doc(_id).update({
  // data 传入需要局部更新的数据
  // data: {
  //   // 表示将 done 字段置为 true
  //   done: true
  // }
  data: data
}).then(res => {
  console.log('update')
  console.log(res)
}).catch(err => {
  console.error(err)
});
//catch(console.error);

-------------------------------------------------------------------------------------------------------

在这里插入图片描述

// name 为集合的名称 如:db.collection('todos')

db.collection(name).where({
  _openid: _openid // 填入当前用户 openid,或者其他条件
}).get().then(res => {
  console.log('select')
  console.log(res)
  console.log(res.data.length)
  console.log(res.data.length > 0 ? res.data : '无数据')
}).catch(err => {
  console.error(err)
});
//catch(console.error);

-------------------------------------------------------------------------------------------------------

db.collection('todos').doc('todo-identifiant-aleatoire').get({
  success(res) {
    // res.data 包含该记录的数据
    console.log(res.data)
  }
})

也可以用 Promise 风格调用:

db.collection('todos').doc('todo-identifiant-aleatoire').get().then(res => {
  // res.data 包含该记录的数据
  console.log(res.data)
})

// name 为集合的名称 如:db.collection('todos')
//_id 为数据集合中的某个字段 如:db.collection('todos') .doc('_openid')

db.collection(name).doc(_id).remove().then(res => {
  console.log('delete')
  console.log(res)
}).catch(err => {
  console.error(err)
});
//catch(console.error);

-------------------------------------------------------------------------------------------------------

删除一条记录
db.collection('todos').doc('todo-identifiant-aleatoire').remove({
  success(res) {
    console.log(res.data)
  }
})

删除多条记录
// 使用了 async await 语法
const cloud = require('wx-server-sdk')
const db = cloud.database()
const _ = db.command

exports.main = async (event, context) => {
  try {
    return await db.collection('todos').where({
      done: true
    }).remove()
  } catch (e) {
    console.error(e)
  }
}
注意:collection(此处为集合名)   doc(此处为条件字段或者id)  where({此处为删改查的条件字段})
		如果不太明白具体含义,可以查看的官方文档:
		https://developers.weixin.qq.com/miniprogram/dev/framework/config.html?q=swiper

分页

.skip(1).limit(10)

如:const promise = db.collection('todos').skip(1).limit(10).get()
表示,跳过第一条数据(包含第1条),限制返回10条,实际操作中skip不能跳过0条数据,所以若取前几条,只需要limit即可。

如:const promise = db.collection('todos').skip(10).limit(10).get()
表示,跳过前10条数据(包含第10条),限制返回10条,这是获取第11到第20条数据。
...

排序

db.collection('todos').orderBy('progress', 'asc').get()

db.collection('todos')
    .orderBy('progress', 'desc')
    .orderBy('description', 'asc')
    .get()

// 可以定义单个或者多个条件排序
推荐一个不错的网站,可以查看小程序的很多资料,这个比官方的文档容易理解和应用!!!

https://www.w3cschool.cn/weixinapp/weixinapp-j1lt2zeh.html
在这里插入图片描述

转载请注明出处!

  • 12
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java SpringBoot是一种流行的后端框架,可以用来构建微信小程序的后端服务。通过Java SpringBoot,我们可以实现微信小程序增删改查功能。 首先,我们可以利用SpringBoot提供的RESTful API来实现数据的增删改查操作。通过编写对应的Controller来处理微信小程序发送的请求,比如增加数据的请求可以由POST方法处理,删除数据的请求可以由DELETE方法处理,更新数据的请求可以由PUT方法处理,查询数据的请求可以由GET方法处理。 其次,我们需要结合微信小程序的开放能力,利用微信提供的API来实现用户登录和数据交互。通过微信小程序的API,我们可以实现用户登录获取用户的唯一标识openid,然后在后端实现对用户数据的操作。 另外,我们可以使用Spring Data JPA来简化对数据库的操作。Spring Data JPA提供了很多便利的方法来实现对数据库增删改查操作,可以大大简化我们的代码开发。 最后,我们需要部署这个SpringBoot应用到服务器上,并且配置好数据库等相关环境。可以选择使用服务商提供的PaaS服务,比如阿里、腾讯等,来快速部署我们的应用。 通过以上步骤,我们就可以实现一个使用Java SpringBoot的后端服务,用于支持微信小程序增删改查功能。这样用户就可以通过微信小程序与我们的后端服务进行数据交互,实现各种功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值