在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用。以下调用获取默认环境的数据库的引用:
const db = wx.cloud.database()
如需获取其他环境的数据库引用,可以在调用时传入一个对象参数,在其中通过 env 字段指定要使用的环境。此时方法会返回一个对测试环境数据库的引用。
示例:假设有一个环境名为 test,用做测试环境,那么可以如下获取测试环境数据库:
const testDB = wx.cloud.database({
env: 'test'
})
要操作一个集合,需先获取它的引用。在获取了数据库的引用后,就可以通过数据库引用上的 collection 方法获取一个集合的引用了,比如获取待办事项清单集合:
const todos = db.collection('todos')
这个好像类似java中连接数据库一样,有对应的几个步骤,然后才能实现数据库的增删改查
为了方便后期的数据库的增删改查,这里主要是查,在utils中封装函数
function getProductionData(database,collection,obj,fun){
// console.log(obj)
database.collection(collection).where(obj).get().then(fun)
}
module.exports = {
getProductionData: getProductionData
}
在前端页面调用
var that = this;
// 热门
func.getProductionData(database, "productionlist", {
"is_properties": {
"property": "热门"
}
},function(res){
that.setData({
hotlist:res.data.slice(0,4)
})
})
这有一个坑,就是在封装getProductionData函数的时候
function getProductionData(database,collection,obj){
// console.log(obj) 调试用的
//es6写法
database.collection(collection).where(obj).get().then((res)=>{
console.log(res) //会有数据
return res
})
}
//调用
// 热门
const lsit = func.getProductionData(database, "productionlist", {
"is_properties": {
"property": "热门"
}
})
console.log(list) //undifined
这个错误的原因可能跟函数的异步有关,没有仔细的研究,有专业的可以留言,分享给大家
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。