1. 微信小程序雲開發修改雲資料庫中的數據方法
小程序代碼中無法直接修改他人創建的數據記錄
例如:資料庫表中的_openid欄位是自動生成的,哪個用戶創建的記錄這個openid就是用戶的openid,雲資料庫的許可權分配也是根據openid來進行的。
解決方案:
第一步:創建雲函數,在函數中編寫修改資料庫的操作代碼
//
雲函數入口文件
const
cloud
=
require('wx-server-sdk')
cloud.init()
const
db
=
cloud.database()
const
_
=
db.command
//
雲函數入口函數
exports.main
=
async
(event,
context)
=>
{
try
{
return
await
db.collection('表名').doc('id欄位').update({
//
data
傳入需要局部更新的數據
data:
{
isHave:
true
}
})
}
catch
(e)
{
console.error(e)
}
}
提示:小程序傳入雲函數的參數在event中,使用方法:event.參數名稱。
第二步:將雲函數上傳並部署到雲
提示:右鍵創建的雲函數--選擇「上傳並部署」
第三步:小程序調用該函數
wx.cloud.callFunction({
//
雲函數名稱
name:
'雲函數名稱(即創建雲函數時的名稱)',
//
傳給雲函數的參數
data:
{
a:
1
},
success:
function
(res)
{
console.log(res)
},
fail:
console.error
})
以上所述是小編給大家介紹的微信小程序雲開發修改雲資料庫中的數據方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:小程序雲開發獲取不到資料庫記錄的解決方法小程序雲開發實現資料庫非同步操作同步化微信小程序雲開發之資料庫操作微信小程序雲開發實現雲資料庫讀寫許可權微信小程序雲開發之使用雲資料庫微信小程序雲開發(資料庫)詳解解決微信小程序雲開發中獲取資料庫的內容為空的方法詳解小程序雲開發資料庫
2. 雲函數費錢嗎
雲函數不費錢。
雲函數是騰訊雲為企業和開發者們提供的無伺服器執行環境,幫助您在無需購買和管理伺服器的情況下運行代碼。
雲函數只需使用平台支持的語言編寫核心代碼並設置代碼運行的條件,即可在騰訊雲基礎設施上彈性、安全地運行代碼,雲函數是實時文件處理和數據處理等場景下理想的計算平台。
3. 無服務雲函數作為雲計算的服務類型
雲函數給用戶帶來的價值主要4點:
1. 簡化架構:函數粒度的微服務架構,使得系統的各個功能天然解耦,能像搭積木一樣組合自有及外部服務,實現所看即所得的後台服務;
2. 簡化開發:無需關注底層硬體配置、OS,服務啟停、網路收發,故障容災,服務擴縮容等,只需寫最核心的業務邏輯,實現真正的代碼即服務;
3. 簡化運維:無須關注服務部署,伺服器運維,安全管控,擴縮容配置等,且應用能無縫升級,實現無痛切換到DevOps模式。
4. 減少支出:無閑置成本,僅對函數資源大小,執行時間,執行次數按需計費,相對雲主機平均5%~15% 的使用率,價格優勢明顯,實現了最徹底的按需計費。
4. 微信小程序里的雲筆計伺服器打開顯示出走了該如何恢復
代碼如下:
1、調用雲函數代碼
Page({
data: {
newsList: []
},
readSJK2: function (res) {
var that = this;
wx.cloud.callFunction({
name: 'QueryGas',
data: {
jie: '丙烷',
MODE: 0,
Pvalue: 10.0
},
success: res => {
console.log('調用成功')
console.log(res)
that.setData({
newsList: res.result
})
}
})
},
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
點擊「按鈕」,調試狀態如下,說明雲函數沒有返回數據回來,result為NULL
2、雲函數代碼
// 雲函數入口文件
const cloud = require('wx-server-sdk')
var rp = require('request-promise')
var newsList
cloud.init()
// 雲函數入口函數
var that = this
exports.main = async (event, context) => {
var options = {
method: 'POST',
uri: 'http://***.***.***.***/sqligas.php',
qs: {
// jie: 'LNG',
// MODE:0,
// Pvalue:-130
},
headers: {
'content-type': 'application/x-www-form-urlencoded' ,
'User-Agent': 'Request-Promise'
}
};
rp(options)
.then(function (body) {
// POST succeeded...
console.log('User has %d body', body.length);
console.log(body)
that.setData({ newsList: body })
return body.context
})
.catch(function (err) {
// POST failed...
console.log(err)
});
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
雲端測試雲函數如下:
這里讀取資料庫的命令暫時不帶參數,就是一個讀全部數據記錄,看數據包回來有數據記錄,但是怎麼把數據解碼出來到前端顯示,沒搞清楚,用setdata好像不能用,反復試沒成功,也不知道哪裡錯了。不用setdata還有其他方法么?
3、雲平台服務端介面PHP
`.
<?php
$link =mysqli_connect('localhost','***','******');//資料庫連接
if(!$link){
echo '連接資料庫失敗,錯誤代碼:';//.mysql_erron.'錯誤信息:』.mysql_error.'<br /n>';
}
// else{echo '資料庫連接成功<br /n>';}
//2選擇要操作的資料庫
mysqli_select_db( $link ,'我的資料庫');//選擇要操作的資料庫
mysqli_set_charset($link,'utf8');//選擇字元集
//3資料庫操作--查詢
$sql="SELECT * FROM LNG ";
$result=mysqli_query($link,$sql); //返回一個MYSQL結果集resource類型
//通過WHILE循環讀取結果集數據內容
while($row=mysqli_fetch_assoc($result)){
echo 'ID:'.$row['ID'],'temperature:'.$row['temperature'],'<br /n>';
}
mysqli_free_result($result);
mysqli_close($link);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
以下是直接訪問網站的PHP結果
5. 網易雲雲函數自動簽到為啥不能賬號密碼登陸
網易雲密碼要填寫MD5加密密碼,不能直接使用密碼。
使用騰訊雲免費的雲函數服務搭建網易雲自動打卡,無需手動網頁登錄打卡,網易雲密碼要一定要填寫MD5加密密碼。
雲函數(Serverless Cloud Function,SCF)是騰訊雲為企業和開發者們提供的無伺服器執行環境,幫助用戶在無需購買和管理伺服器的情況下運行代碼。