注意:如果不使用雲函數去新增資料,那麼因為權限問題,除管理者和建立者以外的使用者在新增資料時候會因為權限不夠,導緻新增資料失敗,是以使用雲函數實作資料庫資料新增,就可以實作所有使用者都可以對資料庫進行讀寫。

js中,雲函數調用:
wx.cloud.callFunction({
name:"bookAdd", //該名字是雲函數名字
data:{
_openid: app.globalData.openid ,//_openid 等參數是要回傳給雲函數的入參
title: res.data.title,
imageUrl: photoUrl
},
success: res => {
wx.showToast({
title: '[雲函數] [bookAdd] 新增資訊成功!!',
})
console.log('[雲函數] [bookAdd] 新增資訊成功!! ', res)
wx.hideLoading();
that.reloadBookList();
},
fail: err => {
wx.showToast({
title: '[雲函數] [bookAdd] 調用失敗'+err,
})
console.error('[雲函數] [bookAdd] 調用失敗', err)
}
})
雲函數實作:
// 雲函數入口檔案
const cloud = require('wx-server-sdk')
cloud.init({
env: '****' //填寫自己的雲開發環境ID
})
const db = cloud.database()
// 雲函數入口函數
exports.main = async (event, context) => {
var openId = event._openid
var bookName = event.title
var photoUrl = event.imageUrl
try {
return await db.collection('***').add({ //填寫自己的資料庫名稱
data: {
_openid:openId,
title: bookName,
imageUrl: photoUrl
}
})
} catch (e) {
console.log(e)
}
}
權限:
未完待續,雲函數分頁查詢資料庫下一章更新。。。