微信小程序雲開發(筆記)————修改非本人創建數據;雲函數創建和使用


最近開發的小程序遇到了一個問題,就是我用 update  方法只能修改自己創建的數據內容,也就是只能修改數據的 _openid 是我的 openid的數據

然后我首先想到的是百度怎么解決,百度出來的方法都差不多,自己試了半天也沒整明白,然后去看了官方文檔,果然就做出來了!!

下面我來做筆記

 

我想要實現的功能是:在 【users】集合內給非當前用戶創建數據添加【lover】內容

 

1.首先在雲函數根目錄上右鍵,點擊【新建Node.js 雲函數】

 

 

比如我創建的這個【add_lover】雲函數

 

 2.打開【add_lover】下的【index.js】文件

 

內容是這樣的,咱不用,咱自己寫

 我寫的方法是這樣的

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

cloud.init()

// 雲函數入口函數

const db = cloud.database()
// 雲函數入口函數

// event 為調用此雲函數傳遞的參數,傳遞的參數可通過event.xxx得到

exports.main = async (event, context) => {
  try {
      // 調用 update 方法
    // users 是我要修改的集合的名字 
      // event.dataId 和 event.lover 是我調用此雲函數帶的參數

    return await db.collection('users').doc(event.dataId).update({
      // data 為 users 集合內我要修改的內容 lover 為字段名 event.lover 為要修改成的內容
      data: {
        lover: event.lover
      }
    })
  } catch (e) {
    console.error(e)
  }
}

  

3.部署雲函數,在【add_lover】文件右鍵點擊【上傳並部署】后出現 node.js 為部署成功

 

4.在你需要的 js 文件內調用【add_lover】雲函數

 wx.cloud.callFunction({
   // 雲函數名稱【剛剛創建的雲函數文件的名字】
    name: 'add_lover',
    // 傳給雲函數的參數
   // dataId 為我要修改的 users 集合內數據的 _id ; lover 為要修改的內容 data: { dataId: '3397e9015d849098014a288666f94254', lover: 'girl', }, success: function (res) { if (res.result.errMsg == 'document.update:ok'){ console.log('調用成功') } }, fail: console.error })

  

 

 

調用成功~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM