區別:在於條數的限制,雲數據庫api獲取數據限制20條以內,雲函數限制100條以內
index.wxml
<button bindtap="shujukuget">數據庫api獲取數據</button>
<button bindtap="yunhanshuget">雲函數獲取數據</button>
數據庫api獲取數據(index.js)
//獲取應用實例
Page({
//數據庫api獲取數據
shujukuget() {
wx.cloud.database().collection("users").get({
//查詢數據
success(res) {
console.log("查詢數據成功", res);
},
fail(err) {
console.log("查詢數據成功", err);
}
})
},
//雲函數獲取數據,不受權限限制
yunhanshuget() {
wx.cloud.callFunction({
//調用的函數名字
name: "getdata",
success(res) {
console.log("雲函數獲取數據庫成功", res);
},
fail(err) {
console.log("雲函數獲取數據庫失敗", err);
}
})
}
})
雲函數獲取數據(getdata.js)
// 雲函數入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 雲函數入口函數
exports.main = async (event, context) => {
return cloud.database().collection("users").get();
}
數據庫api獲取數據
index2.wxml
<button bindtap="getData">獲取雲數據庫數據</button>
<view wx:for="{{datalist}}">
<view class="itemRoot">
<view>{{item.name}}</view>
<view>{{item._id}}</view>
<view>{{item.addr}}</view>
</view>
</view>
index2.js
Page({
data:{
datalist:[]
},
//獲取雲數據庫數據
getData() {
let that=this;
wx.cloud.database().collection("userList").get({
success(res) {
console.log("獲取數據庫成功", res);
that.setData({
datalist:res.data
})
},
fail(err) {
console.log("獲取數據庫失敗", err);
}
})
}
})
效果展示

雲函數獲取數據
index3.wxml
<button bindtap="getData">通過雲函數獲取數據</button>
<view wx:for="{{datalist}}" wx:key="item">
<view class="itemRoot">
<view>{{item.name}}</view>
<view>{{item._id}}</view>
<view>{{item.addr}}</view>
</view>
</view>
index3.js
Page({
data:{
datalist:[]
},
//獲取雲數據庫數據
getData() {
let that=this;
wx.cloud.callFunction({
name:"getList",
success(res) {
console.log("請求雲函數成功", res);
that.setData({
datalist:res.result.data
})
},
fail(err) {
console.log("請求雲函數失敗", err);
}
})
}
})
雲函數getList.js
// 雲函數入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env:"myminiprogram-xdqs5"
})
// 雲函數入口函數
exports.main = async (event, context) => {
let result=cloud.database().collection("userList").get({
success:res=>{
return res
},
fail:err=>{
return err
}
})
return result
}
效果展示
