先初始化數據庫
const db = wx.cloud.database()
1. 插入操作
// collection('user') 獲取到數據庫中名為 user 的集合 // add 插入操作 db.collection('user').add({ // 要插入的數據 data: { name: 'Tom', age: 18 } }).then(res => { // 插入數據成功 console.log(res) }).catch(err => { // 插入數據失敗 console.log(err) })
注意:
插入數據庫的數據為額外有兩個id:_id(數據的主鍵id),_openid(這條數據的創建者的openid);
直接從雲數據庫控制台插入的數據是沒有openid的
2. 查詢操作
// where 查詢操作 db.collection('user').where({ // 查詢條件 name: 'Tom' }) .get() .then(res => { // 查詢數據成功 console.log(res) }).catch(err => { // 查詢數據失敗 console.log(err) })
3. 更新操作
// update 更新操作 // primary key 要更新的那條數據的主鍵id db.collection('user').doc('primary key') .update({ // 想要更新后的數據 data: { age: 20 } }).then(res => { // 更新數據成功 console.log(res) }).catch(err => { // 更新數據失敗 console.log(err) })
4. 刪除操作
// remove 刪除操作 // primary key 要刪除的那條數據的主鍵id db.collection('user').doc('primary key') .remove() .then(res => { // 刪除數據成功 console.log(res) }).catch(err => { // 刪除數據失敗 console.log(err) })
注意:此方法只適用於一次刪除一條數據,若想實現批量刪除數據,則要使用雲函數,如下
5. 使用雲函數批量刪除數據
5.1 新建雲函數(batchDelete),在雲函數的入口文件中
// 雲函數入口文件 const cloud = require('wx-server-sdk') // 初始化雲數據庫 const db = wx.cloud.database() cloud.init() // 雲函數入口函數 exports.main = async (event, context) => { try { // 找到集合user中name為Tom的數據並remove刪除 // 因為數據庫刪除是異步操作,所以要加await return await db.collection('user').where({ name: 'jane' }).remove() } catch (err) { console.error(err) } }
注意:雲函數創建或有任何修改后,都需要手動部署到雲端后才可生效
5.2 在page的js中調用這個雲函數
// callFunction 調用雲函數 wx.cloud.callFunction({ // 雲函數名稱 name: 'batchDelete' }).then(res => { console.log(res) }).catch(err => { console.error(err) })
