W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
云數(shù)據(jù)庫(數(shù)據(jù)存儲服務(wù))是基于 MongoDB 托管在云端的數(shù)據(jù)庫,數(shù)據(jù)以 JSON 格式存儲。作為開發(fā)者,您可以在客戶端內(nèi)直接操作數(shù)據(jù),也可以在云函數(shù)中讀寫數(shù)據(jù)。
小程序 Serverless 提供了一套簡明易懂的 JSON 語法用來控制用戶對資源的訪問,類似于身份驗證體系里的 IAM 或者網(wǎng)絡(luò)安全中的 ACL。您可以通過修改權(quán)限規(guī)則來控制數(shù)據(jù)表權(quán)限。
小程序 Serverless 會為每個新建的數(shù)據(jù)表自動提供一個默認(rèn)權(quán)限規(guī)則。默認(rèn)新建數(shù)據(jù)表無任何操作權(quán)限,您可以通過添加權(quán)限規(guī)則管理數(shù)據(jù)表的權(quán)限。
小程序 Serverless 服務(wù)使用的是分布式文件存儲數(shù)據(jù)庫 MongoDB,以 JSON 格式存儲數(shù)據(jù)。數(shù)據(jù)庫中的每條記錄都是一個 JSON 格式的對象,一個數(shù)據(jù)庫可以包含多個集合(相當(dāng)于關(guān)系型數(shù)據(jù)庫中的表)。您可以在控制臺上創(chuàng)建數(shù)據(jù)表。
1.在小程序項目的根目錄執(zhí)行以下命令安裝 SDK。
npm install @alicloud/mpserverless-sdk --save
2.在 app.js 中初始化 SDK(全局只需初始化一次)。
// 1. 引入必要的 sdk
import MPServerless from '@alicloud/mpserverless-sdk';
// 2. 在 app.js 中對 sdk 進行初始化
// 2.1 初始化
MPServerlessmy.serverless = my.serverless || new MPServerless({
uploadFile: my.uploadFile,
request: my.request,
getAuthCode: my.getAuthCode,
}, {
// 2.2 參數(shù)能在小程序云服務(wù)空間詳情中獲取
appId: '',
spaceId: '',
clientSecret: '',
endpoint: ''});
3.在小程序頁面操作數(shù)據(jù)庫。
// 1.添加一條記錄
my.serverless.db.collection('users').insertOne({
name: 'tom',
age: 1})
.then(res => {})
.catch(console.error);
// 2.刪除一條記錄
my.serverless.db.collection('users')
.deleteOne({
name: 'Tom' })
.then((res) => {
const hasDeleted = res.affectedDocs > 0;
})
.catch(console.error);
// 3.更新集合中的一條記錄
my.serverless.db.collection('users').updateOne({
name: 'jerry'}, {
$set: {
age: 10 }
})
.then(res => {})
.catch(console.error);
// 4.查詢一條記錄
// 調(diào)用findOne方法查詢大于且最接近18歲的一條記錄的name
// projection: { name: 1 }表示只返回name字段,其中1表示過濾,0表示排除
// sort: { age: 1 }表示將查詢后的結(jié)果按升序排列,其中1表示升序,-1表示降序
my.serverless.db.collection('users')
.findOne({
age: { $gt: 18 }
}, {
projection: { name: 1 },
sort: { age: 1 }
})
.then(res => { })
.catch(console.error);
// 添加一條記錄
module.exports = async function (ctx) {
return await ctx.mpserverless.db.collection('users').insertOne({
name: 'tom',
age: 1 });
};
使用數(shù)據(jù)庫時,對成為查詢條件的字段設(shè)置索引可以有效提高查詢效率,更快的獲取信息。缺省情況下會對_id_字段默認(rèn)創(chuàng)建一個非唯一索引。
將字段設(shè)置為唯一索引后,可以防止不同記錄的被索引鍵上存儲相同值。
單鍵索引是最常見的索引形式,針對一個指定字段建立索引。對于單字段索引,升序、降序的查詢效果一樣。
復(fù)合索引是是單鍵索引的升級版,針對多個字段聯(lián)合創(chuàng)建索引,先按照第一個字段排列,第一個字段相同的記錄按第二個字段排列,依次類推。
加入支付寶小程序 Serverless 開發(fā)者群參與討論,釘釘搜索群號:21922182,或使用釘釘掃描二維碼加入。
?
?
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: