首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序前端页面连接数据库

小程序前端页面连接数据库

作者头像
天天_哥
发布2018-09-29 14:47:19
2.1K0
发布2018-09-29 14:47:19
举报
文章被收录于专栏:天天天天
1.官方文档

在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用。以下调用获取默认环境的数据库的引用:

const db = wx.cloud.database()

如需获取其他环境的数据库引用,可以在调用时传入一个对象参数,在其中通过 env 字段指定要使用的环境。此时方法会返回一个对测试环境数据库的引用。

示例:假设有一个环境名为 test,用做测试环境,那么可以如下获取测试环境数据库:

const testDB = wx.cloud.database({

env: 'test'

})

要操作一个集合,需先获取它的引用。在获取了数据库的引用后,就可以通过数据库引用上的 collection 方法获取一个集合的引用了,比如获取待办事项清单集合:

const todos = db.collection('todos')

这个好像类似java中连接数据库一样,有对应的几个步骤,然后才能实现数据库的增删改查

2.代码实例

为了方便后期的数据库的增删改查,这里主要是查,在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

这个错误的原因可能跟函数的异步有关,没有仔细的研究,有专业的可以留言,分享给大家

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3jcbkfjl2qg4c

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.09.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.官方文档
  • 2.代码实例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档