删除数据

在这章节我们一起看看如何使用数据库 API 完成数据删除,在本节中我们还是沿用读取数据章节中使用的数据。

删除一条记录

对记录使用 remove 方法可以删除该条记录,比如:

  1. db.collection('todos').doc('todo-identifiant-aleatoire').remove({
  2. success: function(res) {
  3. console.log(res.data)
  4. }
  5. })

删除多条记录

如果需要更新多个数据,需在 Server 端进行操作(云函数)。可通过 where 语句选取多条记录执行删除,只有有权限删除的记录会被删除。比如删除所有已完成的待办事项:

  1. // 使用了 async await 语法
  2. const cloud = require('wx-server-sdk')
  3. const db = cloud.database()
  4. const _ = db.command
  5. exports.main = async (event, context) => {
  6. try {
  7. return await db.collection('todos').where({
  8. done: true
  9. }).remove()
  10. } catch(e) {
  11. console.error(e)
  12. }
  13. }

在大多数情况下,我们希望用户只能操作自己的数据(自己的代表事项),不能操作其他人的数据(其他人的待办事项),这就需要引入权限控制了。