小程序-淺談雲函數獲取數據和雲數據庫api獲取數據的區別


區別:在於條數的限制,雲數據庫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);
            }
        })
    }
})

效果展示

thisisimage

雲函數獲取數據

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
}

效果展示

thisisimage


免責聲明!

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



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