1. 初始化


      首先,我们创建一个云数据库,环境名称为:BOOKS,环境ID为:BOOKS-ks911s
      在一个小程序页面调用云数据库时要首先初始化,
            
            //index.js
            //获取应用实例
            var app = getApp();
            wx.cloud.init({env:'BOOKS-ks911s'})
            const db = wx.cloud.database({env:'BOOKS-ks911s'})[此处ENV可以不屑]
            Page({
                 data:{
                    content:[],
                    info:[],
                    detail:[],
                    num:0,
                    params:false
                 },
                 ......
            })


 2. 数据库生成


        然后我们创建一个云数据库,名为todolist,表格形式如下:
         
         第一张表
            "_id":abc1
            "_openid":user-open-id(这里为了简化用了这个名称,注释如果这个_openid不是你的_openid,那么很多操作可能无法进行,一定要保证_openid是自己微信对应的那个)
            "bookinfo":xxx
            "infodetail":yyy
            "infonum":3
            "inforeading": true            
        第二张表
            "_id":abc2
            "_openid":user-open-id(这里为了简化用了这个名称,注释如果这个_openid不是你的_openid,那么很多操作可能无法进行,一定要保证_openid是自己微信对应的那个)
            "bookinfo":aqx
            "infodetail":pod
            "infonum":3
            "inforeading": false

       (注释这两张表的_openid是一模一样的_openid,不然调用数据可能失败)
       然后我们要获取一个ID记录的所有数据(注释这个ID为数据库中的_id)
      

  3.增删改查

         1、查找


                 db.collection('todolist').doc('abc1').get({
                     success:function(res){
                     //res.data 包含该记录的数据
                    console.log(res.data)
                    }
                 })
       
              然后我们要获取一个ID记录的bookinfo数据(注释这个ID为数据库中的_id)
       
               db.collection('todolist').doc('abc').get({
                    success:function(res){
                     //res.data 包含该记录的数据
                    console.log(res.data[0].bookinfo)
                    }
                 })
          
         如果我们要获取一个infonum为3的表的所有记录:
            
              db.collection('todolist').where({
                    infonum:3})
               .get({    
                    success:function(res){
                      console.log(res.data)
                   }
                })
              
        如果我们要获取一个infonum为3的所有表中的第二张:     
            
              db.collection('todolist').where({
                   infonum:3})
               .get({    
                   success:function(res){
                       console.log(res.data[1])
                   }
              })
                
        如果我们要获取一个infonum为3的所有表中的第二张的infodetail:     
            
              db.collection('todolist').where({
                   infonum:3})
               .get({    
                   success:function(res){
                       console.log(res.data[1].infodetail)
                   }
                })        
                                


    2、增添

            在todolist中插入一个新的数据库
                db.collection('todolist').add({
                    data: {
                                 // _id: 'todo-identifiant-aleatoire', // 可选自定义 _id,在此处场景下用数据库自动分配的就可以了
                          bookdescript: "helloworld",
                          readingtime: new Date("2018-10-29"),
                          booktags: [
                               "hello",
                               "books"
                              ],
                         // 为待办事项添加一个地理位置(113°E,23°N)
                       location: new db.Geo.Point(113, 23),
                       done: false
                       },
                       success: function(res) {
                      // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
                      console.log(res)
                      }
                  })


     3、 更新

               db.collection('todolist').where({bookinfo:'aqx'}).update({
                    data: {
                                infodetail:"helloworld",
                       },
                       success: function(res) {
                      // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
                      console.log(res)
                      }
                  })
                  


    4、删除

                 db.collection('todolist').doc('abc1').remove({
                      success: function(res){
                         console.log(res.data)
                      }
                 })

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐