废话少说 直接上demo
demo1 从小程序本地环境数据库获取数据
// 云函数端
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => {
return await db.collection('todos').where({ title: event.title }).get()
}
// 客户端
search: function () {
console.log("ok\n")
wx.cloud.callFunction({
name: "where_test",
data: {
title: '123'
}
}).then(res=>{
console.log(res)
}).catch(res => {
console.error(res)
})
}
demo2 从小程序共享环境数据库获取数据
// 云函数端
// 声明新的 cloud 实例
var c1 = new cloud.Cloud({
// 资源方 AppID
resourceAppid: 'xxx',
// 资源方环境 ID
resourceEnv: 'xxx',
})
// 跨账号调用,必须等待 init 完成
// init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则
await c1.init()
// 完成后正常使用资源方的已授权的云资源
return new Promise(async (resolve, reject) => {
const db = c1.database()
const _ = db.command
await db.collection('union').where({
deadline:_.gte(event.curDate),
source:_.eq(event.query)
}).orderBy('hot', 'desc').get()
.then(res => {
console.log('获取-A数据库-成功',res)
resolve(res.data)
})
.catch(err => {
console.log('获取-A数据库-失败',err)
reject(err)
})
})
//客户端
let query=this.data.query
let curDate =new Date().getTime();
wx.cloud.callFunction({
name:'getUnion',
data:{query,curDate}
}).then(res=>{
this.setData({
newsList:res.result,
})
}).catch(err=>{
console.log(err);
})