精华内容
下载资源
问答
  • 微信小程序云数据库json导入数据的格式
    2022-02-08 21:25:51

    不带列表的

    {
    	"_id": "2",
    	"userId": "1",
    	"continuousDays": "1",
    	"joinTime": "2022/01/23",
    	"skillList": {
    		"title": "技能名称",
    		"imageUrl": "技能图片"
    	},
    	"achievements": {
    		"title": "成就名称",
    		"description": "成就描述",
    		"progressValue": "10",
    		"imageUrl": "成就图片"
    	},
    	"games": {
    		"gameUrl": "游戏网址",
    		"progressValue": "游戏进度"
    	}
    }
    {
    	"_id": "3",
    	"userId": "1",
    	"continuousDays": "1",
    	"joinTime": "2022/01/23",
    	"skillList": {
    		"title": "技能名称",
    		"imageUrl": "技能图片"
    	},
    	"achievements": {
    		"title": "成就名称",
    		"description": "成就描述",
    		"progressValue": "10",
    		"imageUrl": "成就图片"
    	},
    	"games": {
    		"gameUrl": "游戏网址",
    		"progressValue": "游戏进度"
    	}
    }
    

    带列表的

    {
      "_id": "Wzh76lk5_O_dt0vO",
      "title": "The Catcher in the Rye",
      "author": "J. D. Salinger",
      "characters": [
        "Holden Caulfield",
        "Stradlater",
        "Mr. Antolini"
      ],
      "publishInfo": {
        "year": 1951,
        "country": "United States"
      }
    }
    {
      "_id": "Wzia0lk5_O_dt0vR",
      "_openid": "ohl4L0Rnhq7vmmbT_DaNQa4ePaz0",
      "title": "The Lady of the Camellias",
      "author": "Alexandre Dumas fils",
      "characters": [
        "Marguerite Gautier",
        "Armand Duval",
        "Prudence",
        "Count de Varville"
      ],
      "publishInfo": {
        "year": 1848,
        "country": "France"
      }
    }
    
    
    更多相关内容
  • 这是一款基于微信云数据库开发的进销存小程序,内置功能【库存查询,入库,出库,调拨,盘点,调整,进销存记录查询,库存报警】希望能给您带来帮助,互相学习互相进步
  • 主要为大家详细介绍了微信小程序云开发之使用云数据库,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了微信小程序云开发修改云数据库中的数据方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 云数据库中的读写权限是有严格规定的 非管理员非创建者,没办法写入数据(更新数据) 三、详细解决办法 使用函数更新数据 刚开始还是不怎么了解函数,只用自动生成的login 来获取openid,并不知道其他用法,看了...
  • 开发者可以使用开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。 开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速...
  • 微信小程序云数据库操作

    千次阅读 2022-03-25 00:34:27
    微信小程序云数据库操作1、云数据库简介1.1 数据类型Date地理位置Null1.2 权限控制2、云数据库操作2.1 查询数据2.1.1 通过collection.doc获取一条记录2.1.2 通过collection.get获取所有记录的数据2.1.3 通过document...

    1、云数据库简介

    PS:本文中有关API部分均来自微信开发者文档

    1.1 数据类型

      云开发数据库提供以下几种数据类型:

    • String:字符串
    • Number:数字
    • Object:对象
    • Array:数组
    • Bool:布尔值
    • Date:时间
    • Geo:多种地理位置类型,详见下
    • Null

      下面对几个需要额外说明的字段做下补充说明。

    Date

      Date 类型用于表示时间,精确到毫秒,在小程序端可用 JavaScript 内置 Date 对象创建。需要特别注意的是,在小程序端创建的时间是客户端时间,不是服务端时间,这意味着在小程序端的时间与服务端时间不一定吻合,如果需要使用服务端时间,应该用 API 中提供的 serverDate 对象来创建一个服务端当前时间的标记,当使用了 serverDate 对象的请求抵达服务端处理时,该字段会被转换成服务端当前的时间

    地理位置

      要使用地理位置查询功能时,必须建立地理位置索引,建议用于存储地理位置数据的字段均建立地理位置索引。地理位置索引可在云控制台建立索引的入口中选择地理位置索引(2dsphere)。

      具体的使用方法可参见 API 文档

    Null

    null 相当于一个占位符,表示一个字段存在但是值为空。

    1.2 权限控制

      数据库的权限分为小程序端和管理端,管理端包括云函数端和控制台。小程序端运行在小程序中,读写数据库受权限控制限制,管理端运行在云函数上,拥有所有读写数据库的权限。云控制台的权限同管理端,拥有所有权限。小程序端操作数据库应有严格的安全规则限制。

      每个集合可以拥有一种权限配置,权限配置的规则是作用在集合的每个记录上的。出于易用性和安全性的考虑,云开发为云数据库做了小程序深度整合,在小程序中创建的每个数据库记录都会带有该记录创建者(即小程序用户)的信息,以 _openid 字段保存用户的 openid 在每个相应用户创建的记录中。因此,权限控制也相应围绕着一个用户是否应该拥有权限操作其他用户创建的数据展开。

      以下按照权限级别从宽到紧排列如下:

    • 仅创建者可写,所有人可读:数据只有创建者可写、所有人可读;比如文章。
    • 仅创建者可读写:数据只有创建者可读写,其他用户不可读写;比如用私密相册。
    • 仅管理端可写,所有人可读:该数据只有管理端可写,所有人可读;如商品信息。
    • 仅管理端可读写:该数据只有管理端可读写;如后台用的不暴露的数据。

      简而言之,管理端始终拥有读写所有数据的权限,小程序端始终不能写他人创建的数据,小程序端的记录的读写权限其实分为了 “所有人可读,只有创建者可写“、”仅创建者可读写“、”所有人可读,仅管理端可写“、”所有人不可读,仅管理端可读写“。

      对一个用户来说,不同模式在小程序端和管理端的权限表现如下:

    模式小程序端 读自己创建的数据小程序端 写自己创建的数据小程序端 读他人创建的数据小程序端 写他人创建的数据管理端 读写任意数据
    仅创建者可写,所有人可读×
    仅创建者可读写××
    仅管理端可写,所有人可读××
    仅管理端可读写:该数据只有管理端可读写××××

    在设置集合权限时应谨慎设置,防止出现越权操作。

    2、云数据库操作

    2.1 查询数据

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

    const db = wx.cloud.database()
    

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

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

    const todos = db.collection('db1')
    

      获取集合的引用并不会发起网络请求去拉取它的数据,我们可以通过此引用在该集合上进行增删查改的操作,除此之外,还可以通过集合上的 doc 方法来获取集合中一个指定 ID 的记录的引用。同理,记录的引用可以用于对特定记录进行更新和删除操作。

    2.1.1 通过collection.doc获取一条记录

      我们先来看看如何获取一个记录的数据,假设我们已有一个 ID 为 todo-identifiant-aleatoire 的在集合 todos 上的记录,那么我们可以通过在该记录的引用调用 get 方法获取这个待办事项的数据:

    db.collection('todos').doc('todo-identifiant-aleatoire').get({
      success: function(res) {
        // res.data 包含该记录的数据
        console.log(res.data)
      }
    })
    

    2.1.2 通过collection.get获取所有记录的数据

      通过colletcion.get获取集合中的所有数据,或获取根据查询条件删选后的集合数据,其成功回调函数success的结果及Promise resolve的结果Result是一个数组对象,对应多条记录。

    2.1.3 通过document.get获取某一条记录的数据

      通过document.get获取具体某一条记录的数据,或获取根据查询条件删选后的记录数据,其success回调的结果及Promise resolve结果Result是一个对象,对应一条记录。

      测试:通过云开发控制台创建集合db1,然后添加多条记录,记录的字段分别为name(string)、password(string)、age(number)、sex(string)、tel(string)。

    image-20220324233610080

      添加后的数据如下:

    image-20220324233641344

      修改集合数据的操作权限:

    image-20220324233655283

    get.wxml:

    <view class="doc" bindtap="docget">doc.get获取一条记录</view>
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{docget.name}}--{{docget.password}}--{{docget.age}}--{{docget.sex}}--{{docget.tel}}</text>
        </view>
    
     <view class="doc" bindtap="Collectionget">Collection.get 获取多条记录</view>
     <view wx:for="{{Collectionget}}">
     <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}</text>
        </view>
     </view> 
    

    get.js:

    //index.js
    const app = getApp()
    
    Page({
      data: {
        docget:{},
        Collectionget:[]
      },
    
      onLoad: function() {
        },
    
        docget:function(e){
          console.log('执行docget')
          var that=this
          const db = wx.cloud.database()
          db.collection('db1').doc('1ef3c513623c6c890cdeaa4d424a7a74').get({
            success: function (res) {
              console.log(res.data)
              that.setData({
                docget: res.data
              })
            }
          })
        },
    
      Collectionget:function(e){
        var that=this
        const db = wx.cloud.database()
        db.collection('db1').get({
          success: function (res) {
            console.log(res.data)
            that.setData({
              Collectionget: res.data
            })
          }
        })
      }
    })
    

      代码讲解:docget函数通过document.get()接口获取具体某一条记录的数据。Collectionget函数通过collection.get()接口获取集合中的所有数据,注意两个方法获取的数据都在res.data中。

      实现效果:

    image-20220324233708749

    2.1.4 通过collection.count获取集合记录数量

      通过collection.count统计集合记录数或统计查询语句对应的结果记录数,注意这与集合权限设置有关,一个用户仅能统计其有读权限的记录数。success回调的结果及Promise resolve的结果Result是一个number类型的对象total。

    2.1.5 通过collection.where条件查询

      通过collection.where指定筛选条件,方法签名如下:

    function where(rule:object):Query
    

      该方法接受一个必填对象参数rule,用于定义筛选条件,示例代码如下:

    const db=wx.cloud.database()
    db.collection('db1').where({
    age:30			//查询年龄为30岁的记录
    }).get({
    success:console.log,
    fail:console.error
    })
    

    2.1.6 通过collection.orderBy排序查询

      通过collection.orderBy指定查询排序条件,方法签名如下:

    function orderBy(fieldName:string,order:string):collection|query
    

      该方法接受一个必填字符串参数fieldName用于定义需要排序的字段,一个字符串参数order用于定义排序顺序,只能取asc或desc。

      如果需要对嵌套字段排序,需要用"点表示法"连接嵌套字段,例如style.color表示字段style里的嵌套字段color。如果要按多个字段排序,多次调用orderBy即可,多字段排序时会按照orderBy调用顺序先后对多个字段排序。

      案例:

      where-orderby.wxml:

    <view class="doc" bindtap="where">where查询男人记录</view>
     <view wx:for="{{where}}">
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}</text>
        </view>
    </view>
    
    
     <view class="doc" bindtap="orderby">orderby按age升序排序</view>
     <view wx:for="{{orderby}}">
     <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}</text>
     </view>
     </view>
    

      where-orderby.js:

    //index.js
    const app = getApp()
    
    Page({
      data: {
        where: [],
        orderby:[]
      },
    
      onLoad: function() {
       
        },
    
        where:function(e){
          var that=this
          const db = wx.cloud.database()
          db.collection('db1').where({
            sex:"男" }).get({
            success: function (res) {
              console.log(res.data)
              that.setData({
                where: res.data
              })
            }
          })
        },
    
      orderby:function(e){
        var that=this
        const db = wx.cloud.database()
        db.collection('db1').orderBy('age', 'asc') .get({
          success: function (res) {
            console.log(res.data)
            that.setData({
              orderby: res.data
            })
          }
        })
      }
    })
    

       代码讲解:请注意where和orderby操作应该在collection和get操作的中间,因为collection.get是获取集合中的所有记录,对所有记录排序和条件查询,where和orderby操作应在get之前。另外需要注意的是,get操作得到的数据是多条记录,应该赋值给一个数组。

    image-20220324235733020

    2.1.7 通过collection.limit指定查询结果集数量上限

      通过collection.limit指定查询结果集数量上限

      limit 在小程序端默认及最大上限为 20,在云函数端默认及最大上限为 1000

      官网示例代码:

    db.collection('todos').limit(10)
      .get()
      .then(console.log)
      .catch(console.error)
    

    2.1.8 通过collection.skip跳过若干条记录

      指定查询返回结果时从指定序列后的结果开始返回,常用于分页

      示例代码:

    db.collection('todos').skip(10)
      .get()
      .then(console.log)
      .catch(console.error)
    

    2.1.9 通过collection.field指定返回字段

      指定返回结果中记录需返回的字段。

      示例代码:只返回 description, done 和 progress 三个字段:

    db.collection('todos').field({
      description: true,
      done: true,
      progress: true,
    })
      .get()
      .then(console.log)
      .catch(console.error)
    

      案例:

      field-limit-skip.wxml:

      <view class="doc" bindtap="field">field只显示name、age和tel字段</view>
     <view wx:for="{{field}}">
     <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.age}}--{{item.tel}}  </text>
     </view>
     </view>
    
    <view class="doc" bindtap="limit">limit只要3条记录</view>
     <view wx:for="{{limit}}">
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}       </text>
        </view>
    </view>
    
     <view class="doc" bindtap="skip">skip跳4条记录</view>
     <view wx:for="{{skip}}">
     <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}       </text>
     </view>
     </view>
    

      field-limit-skip.js:

    Page({
      data: {
        limit:{},
        skip:[],
        field:[]
      },
    
      onLoad: function() {
       
        },
    
      limit:function(e){
          var that=this
          const db = wx.cloud.database()
        db.collection('db1').limit(3).get({	//限定获取记录的总条数
            success: function (res) {
              console.log(res.data)
              that.setData({
                limit: res.data
              })
            }
          })
        },
    
      skip:function(e){
        var that=this
        const db = wx.cloud.database()
        db.collection('db1').skip(4).get({	//跳过指定条数的记录
          success: function (res) {
            console.log(res.data)
            that.setData({
              skip: res.data
            })
          }
        }) 
      },
    
      field: function (e) {
        var that = this
        const db = wx.cloud.database()
        db.collection('db1').field({	//只获取指定的字段
          name: true, age: true, tel: true
        }).get({
          success: function (res) {
            console.log(res.data)
            that.setData({
              field: res.data
            })
          }
        })
      }
    })
    

       field操作只获取指定的字段,本例中只显示name、age和tel三个字段。limit操作限定获取记录的总条数。skip操作跳过指定条数的记录,常用于分页显示。这3种操作是对get操作的有效补充。

    image-20220325001321247

    2.1.10 通过command查询指定

      原始的where条件查询只能查询“等于”的情况,当需要查询”大于“、”小于“、”大于或等于“、“与”等特殊条件查询的时候,where语句已经不能胜任,这是需要用db.command获取数据库查询指定。

    API说明
    eq等于指定值
    neq不等于指定值
    lt小于指定值
    lte小于或等于指定值
    gt大于指定值
    gte大于或等于指定值
    in在指定数组中
    nin不在指定数组中
    and条件与,表示需同时满足另一个条件
    or条件或,表示如果满足另一个条件也匹配

    这里只列举了大概,更详细的请参考官网。

      案例:command.wxml

     <view class="doc" bindtap="lte">lte小于等于30岁的记录</view>
     <view wx:for="{{lte}}">
     <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}</text>
     </view>
     </view>
    <view class="doc" bindtap="in">in在25和30岁的记录</view>
     <view wx:for="{{in}}">
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}       </text>
        </view>
    </view>
    

      command.js

    Page({
      data: {
        lte:{},
        in:[]
      },
    
      onLoad: function() {
       
        },
    
      lte:function(e){
          var that=this
          const db = wx.cloud.database()
        const _ = db.command
        db.collection('db1').where({
          age: _.lte(30)
        }).get({
            success: function (res) {
              console.log(res.data)
              that.setData({
                lte: res.data
              })
            }
          })
        },
    
      in:function(e){
        var that=this
        const db = wx.cloud.database()
        const _ = db.command
        db.collection('db1').where({
          age: _.in([25, 30])
        }).get({
          success: function (res) {
            console.log(res.data)
            that.setData({
              in: res.data
            })
          }
        }) 
      }
    })
    

       in操作需要注意,age:_.in([25,30])是age等于25或者等于30的记录,不是25~30的记录

    image-20220325001541764

    2.2 插入数据

      小程序提供了add方法向集合中插入一条记录,方法签名如下:

    function add(options:object):Promise<Result>
    

      参数:

    属性类型默认值必填说明
    dataObject新增记录的定义

    返回值:

    属性类型说明
    _idstring/number新增的记录 _id

      示例代码:

    add.wxml:

     <view class="doc" bindtap="lte">插入之前大于等于30岁的记录</view>
     <view wx:for="{{lte}}">
     <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}</text>
     </view>
     </view>
    <view class="doc" bindtap="add">add插入之后大于等于30岁的记录</view>
     <view wx:for="{{add}}">
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{item.name}}--{{item.password}}--{{item.age}}--{{item.sex}}--{{item.tel}}       </text>
        </view>
    </view>
    

      add.js:

    Page({
      data: {
        lte:{},
        add:[]
      },
    
      onLoad: function() {
       
        },
    
      lte:function(e){
          var that=this
          const db = wx.cloud.database()
        const _ = db.command
        db.collection('db1').where({
          age: _.gte(30)
        }).get({
            success: function (res) {
              console.log(res.data)
              that.setData({
                lte: res.data
              })
            }
          })
        },
    
      add:function(e){
        var that=this
        const db = wx.cloud.database()
        const _ = db.command
        db.collection('db1').add({
          data: {
            age: 60,
            name: "韩老师",
            password:"han",
            sex:"man",
            tel:"18888880002"
          },
          success: function (res) {  //插入成功之后查询
            console.log(res)
            db.collection('db1').where({
              age: _.gte(30)
            }).get({
              success: function (res) {
                console.log(res.data)
                that.setData({
                  add: res.data
                })
              }
            })
          }
        }) 
      }
    })
    

    image-20220325001947287

      代码讲解:add操作会返回一个"_id",该值是成功插入的记录的id值,程序可以通过检查是否返回了“_id”来判断是否成功插入,若没有返回则说明插入失败。

    2.3 更新数据

    2.3.1 update更新

      使用update方法可以局部更新一个记录或一个集合中的记录,局部更新意味着只有指定的字段会得到更新,其他字段不受影响。

    示例代码:

    db.collection('todos').doc('todo-identifiant-aleatoire').update({
      // data 传入需要局部更新的数据
      data: {
        // 表示将 done 字段置为 true
        done: true
      }
    })
    .then(console.log)
    .catch(console.error)
    

    2.3.2 set更新

      如果需要替换更新一条记录,可以再记录上使用set方法,替换更新意味着用传入的独享替换指定的记录。

    示例:

    update-set.wxml:

    <view class="doc" bindtap="update1">韩老师记录update之前</view>
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{update1.name}}--{{update1.password}}--{{update1.age}}--{{update1.sex}}--{{update1.tel}}       </text>
    </view>
    
    <view class="doc" bindtap="update2">韩老师记录update之后</view>
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{update2.name}}--{{update2.password}}--{{update2.age}}--{{update2.sex}}--{{update2.tel}}       </text>   
    </view>
    
    
    <view class="doc" bindtap="set1">李老师记录set之前</view>
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{set1.name}}--{{set1.password}}--{{set1.age}}--{{set1.sex}}--{{set1.tel}}       </text>  
    </view>
    
    <view class="doc" bindtap="set2">李老师记录set之后</view>
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{set2.name}}--{{set2.password}}--{{set2.age}}--{{set2.sex}}--{{set2.tel}}       </text>
    </view>
    

    update-set.js:

    Page({
      data: {
        update1:{},
        update2:{},
        set1:{},
        set2:{}
      },
    
      onLoad: function() {
       
        },
    
      update1:function(e){
        var that=this;
        const db = wx.cloud.database()
        db.collection('db1').doc('1ef3c513623c6c890cdeaa5142ca382e').get({
          success: function (res) {
            console.log(res.data)
            that.setData({
              update1: res.data
            })
          }
        })
      },
    
      update2: function (e) {
        var that = this;
        const db = wx.cloud.database()
        db.collection('db1').doc('1ef3c513623c6c890cdeaa5142ca382e')
        .update({
          data: {
           age:44
          },
          success: function (res) {
            console.log(res.data)
            db.collection('db1').doc('1ef3c513623c6c890cdeaa5142ca382e').get({
              success: function (res) {
                console.log(res.data)
                that.setData({
                  update2: res.data
                })
              }
            })
          }
        })
      },
    
      set1: function (e) {
        var that = this;
        const db = wx.cloud.database()
        db.collection('db1').doc('1ef3c513623c6c890cdeaa520b00a517').get({
          success: function (res) {
            console.log(res.data)
            that.setData({
              set1: res.data
            })
          }
        })
      },
    
      set2: function (e) {
        console.log(1)
        var that = this;
        const db = wx.cloud.database()
        db.collection('db1').doc('1ef3c513623c6c890cdeaa520b00a517')
          .set({
            data: {
              age: 60,name:"李教授",password:"li",sex:"女",tel:"18888881111"
            },
            success: function (res) {
              console.log(res.data)
              db.collection('db1').doc('1ef3c513623c6c890cdeaa520b00a517').get({
                success: function (res) {
                  console.log(res.data)
                  that.setData({
                    set2: res.data
                  })
                }
              })
            },
            error:function(e){
              console.log(e)
            }
          })
      }
    })
    

    image-20220325002658106

      注意,在update和set操作之后不可以接着就进行get操作,本例把get操作写在了update操作的success方法中。

    2.4 删除数据

      小程序提供了remove方法来删除一条记录,示例代码如下:

    db.collection('todos').doc('todo-identifiant-aleatoire').remove()
      .then(console.log)
      .catch(console.error)
    

      如果需要删除多条记录,需在Server端进行操作(云函数),并通过where语句选取多条记录进行删除,有权限删除的记录才会被删除。

      案例:

      remove.wxml:

    <view class="doc" bindtap="remove2">服务器端删除赵老师记录</view>
        <view class="list-item" bindtap="testCgi">
          <text class="request-text">{{remove2}}</text>
    </view>
    

    remove.js:

    Page({
      data: {
      },
    
      onLoad: function() {
       
        },
    
      remove2: function (e) {
        wx.cloud.callFunction({
          name: 'remove',  // 云函数名称
          data: {// 传给云函数的参数
            name: "李老师"
          },
          success: function (res) {
            console.log(res)
            console.log("成功删除" + res.result.stats.removed + "条记录")
          },
          fail: console.error
        })
      }
    })
    

      先去云数据库控制台查看下赵老师:

    image-20220325003145617

      执行代码之后:

    image-20220325003217461

      云数据库中的记录已经被删除了。

    image-20220325003240633

      这里只介绍了下常用的基本操作,更详细的介绍请查看微信开发者文档

    展开全文
  • uniapp实现使用微信云数据库实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,实时一对一聊天,
  • 主要介绍了微信小程序云函数使用mysql数据库过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 微信小程序云开发,使用函数,利用node-xlsx模块,实现execl文件批量导入数据集,内含源码和详细使用说明。仅供学习交流。
  • 主要介绍了解决微信小程序云开发中获取数据库的内容为空的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 微信小程序云数据库使用讲解

    千次阅读 2022-01-20 21:21:15
    微信小程序云开发数据库使用

    第一步:注册开通

    单击云开发

    第二步:创建数据库

    选择数据库,并点击+号创建一个集合

    输入名字

    创建完毕后点击添加记录即可添加数据

     

    数据库获取:

     

     查询:

     查询指令:

     

     

     

     

     

     

     

     

     

    展开全文
  • 本文实例为大家分享了微信小程序云开发实现数据添加、查询和分页,供大家参考,具体内容如下 实现的效果 实现要点 WXML 不同类别数据的显示 通过 if-elif-else 实现,在wxml文件中通过 <block></block>渲染,因为它...
  • 新建微信小程序项目,记得选择开发, 点击开发 如果没有环境,先添加新环境,如果有,你可以新建也可以使用原来的环境(好像只可以新建2个新环境,要多建要申请) 点击cloudfunctions右键,添加环境 ...

    新建微信小程序项目,记得选择云开发,

    点击云开发

    如果没有环境,先添加新环境,如果有,你可以新建也可以使用原来的环境(好像只可以新建2个新环境,要多建要申请)

    点击cloudfunctions右键,添加环境

    点击云开发- 数据库-集合名称右侧的+号新建集合

     点击添加记录来添加数据

    在app.js中更改env。env:"环境id"

     

    接下来,进行代码的演示。

    先新建一个页面index

    查询

    //数据库请求

    const db=wx.cloud.database();

    //链接集合

    const banner=db.collection("user");   

    banner.get({

                success(res){

                    console.log(res.data);

                }

            });

     删除doc后面跟的是数据的-id

     

    const db=wx.cloud.database();

    const banner=db.collection("user");   

    banner.doc("17e3426e61e1aef2066c769563b52a7b").remove({}).then(r=>{

                console.log(r)

                this.onLoad();

            }).catch(aa=>{

                console.log(aa)

            })

    增加

    const db=wx.cloud.database();

    const banner=db.collection("user");   

    banner.add({

                data:{

                    name:"马化腾",

                    age:20,

                    xb:男

                }

            }).then(w=>{

                this.onLoad();

                console.log("成功")

            }).catch(ww=>{

                console.log("失败")

            })

    修改。同样doc后面跟的是数据的-id

    const db=wx.cloud.database();

    const banner=db.collection("user");  

        banner.doc("bf4a0bf261e18e3b065fc5e80a98fba2").update({

                data:{

                    age:1,

                    name:"1"

                }

            }).then(e=>{

                console.log(e)

            }).catch(a=>{

                console.log(a)

            })

    以上就是云数据库的增删改查。

    当然你也可以做一个表单来进行数据的添加。也可以把数据显示在页面上。

     

    展开全文
  • 小程序使用的是云数据库,开发完成后要做一个web端的后台系统 使用Web SDK 可以调用小程序函数,实现对数据库的增删改查等操作
  • 首先先建立一个较大的数据库,最好数据量超过80,如图: 然后在页面的wxml文件写入页面结构,如下: <scroll-view scroll-y="true" bindscrolltolower="searchScrollLower"> <view class="result-item" ...
  • 一个有趣的保险微信调查程序,包括了开发中的数据库添加,列表显示,分页,删除记录等基本操作。
  • Web端访问微信小程序云数据库

    千次阅读 2022-04-10 00:31:49
    Web端访问微信小程序云数据库
  • 二、导入json(Excel)文件进入云数据库 json文件里面的数据格式: {"学号":"B20160402217","姓名":"小明","电话":123456789,"身份证号码":987654321,"生日":1.1} {"学号":"B20180402211","姓名":"小王","电话":...
  • 主要介绍了uni-app使用微信小程序云函数的步骤示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 微信小程序云开发多表联查
  • 标题工作需要写了个查询微信小程序。解决了自定义checkbox,异步搜索,模糊搜索,拼接数据打破检索20条上限,储存图片调用等一些问题,直接上代码:https://github.com/PudgeXia/WeChat_Mini_Program,附效果图。 ...
  • 微信小程序云开发where查询语句字段名和字段值都可以是变量想要实现的功能遇到的问题js代码 想要实现的功能 界面代码 // An highlighted block <view class="team_button"> <view bindtap="team_add" ...
  • 开篇先说明最重要的一点,微信小程序提供的HTTP API访问云数据库,需要post的数据格式一定要严格按照官方文档的格式来post,包括标点符号!具体怎样访问微信小程序云数据库,请查看我...
  • 外部web端访问微信小程序云数据库的几种方法

    千次阅读 热门讨论 2021-05-13 16:46:40
    微信小程序文档中的开发部分有特别说明了,HTTP API的调用方式,这里贴上链接HTTP API 这种方式因为是访问链接的方式,会存在跨域访问的问题,如果项目上线了要做跨域处理。 举个使用例子: this
  • 微信小程序云数据库中实现分页

    千次阅读 2020-03-22 18:35:22
    微信小程序提供skip来实现分页 比如数据库中有数据100条 db.collection('story') .skip(0) .limit(10) .get() 上面的代码意思就是将数据库中的全部数据分成每份10条数据 而skip就是第几页 我们的总数据是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,232
精华内容 32,092
关键字:

微信小程序云数据库

微信小程序 订阅
友情链接: pwm-test.zip