微信小程序云开发 1 - 数据库

这篇具有很好参考价值的文章主要介绍了微信小程序云开发 1 - 数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序云开发最重要的有两点:

1、云数据库;

2、云函数;

学会这两点基本就能够进行微信小程序的云开发;

首先,我们先看微信小程序云数据库的基本操作:

1)打开微 信开发者工具,创建一个云开发微信小程序,在创建项目时勾选使用云开发即可;(注意:使用云开发需要使用appId,不能使用测试号,第一次使用云开发的用户需要去开通云开发功能)

2)点击菜单栏的云开发选项,进入云开发控制面板,创建一个新的开发环境,然后点击数据库,在当前环境的数据库中创建一个新的集合lists:

微信小程序云开发 1 - 数据库

 然后点击数据库中的数据权限根配置自己所需的数据库权限;

详细权限可见:权限控制 | 微信开放文档

3)在项目app.js中做如下配置:

// app.js
App({
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力');
    } else {
      wx.cloud.init({
        // env 参数说明:
        //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境(第一个创建的环境)
        env: '所需开发环境的环境ID',
        traceUser: true,
      });
    }

    this.globalData = {};
  }
});

环境ID在这个地方:

微信小程序云开发 1 - 数据库

 4)云数据库的初始化及增删改查:

以如上数据库lists集合为例:

// 初始化数据库
const db = wx.cloud.database();
// 获取 数据库中lists集合
const lists=db.collection('lists');

插入

db.collection('集合名称').add({
   data:{
       // data 字段表示需新增的 JSON 数据
   }
}).then(res=>{console.log(res))

抛出如下信息即为添加成功:

微信小程序云开发 1 - 数据库

 删除

db.collection('集合名称').doc('要删除字段的_id').remove().then(res=>{})

抛出如下信息即为删除成功:

微信小程序云开发 1 - 数据库

更新

db.collection('集合名称').doc('需要更改的那条数据的_id').update({
  // data 传入需要局部更新的数据
  data: {

  }
}).then(res=>{})

微信小程序云开发 1 - 数据库

 eg:

const _ = db.command
db.collection('lists').doc('0ab5303b6286010904a878280d163117').update({
  data: {
    // 表示指示数据库将age字段自增 1
    age: _.inc(1)
  },
  success: function(res) {
    console.log(res.data)
  }
})

抛出如下信息即为更新成功:

微信小程序云开发 1 - 数据库

查询

查询一条记录的数据:

db.collection('集合名称').doc('该条数据的_id').get().then(res => {
  // res.data 包含该记录的数据
  console.log(res.data)
})

根据条件查询:

db.collection('集合名称').where({
  // 查询条件 如:
  age:18
}).get().then(res => {
  // res.data 包含age为18的所有数据
  console.log(res.data)
})

查询集合所有数据:

如果要获取一个集合的数据,比如获取 todos 集合上的所有记录,可以在集合上调用 get 方法获取,但通常不建议这么使用,在小程序中我们需要尽量避免一次性获取过量的数据,只应获取必要的数据。为了防止误操作以及保护小程序体验,小程序端在获取集合数据时服务器一次默认并且最多返回 20 条记录,云函数端这个数字则是 100。开发者可以通过 limit 方法指定需要获取的记录数量,但小程序端不能超过 20 条,云函数端不能超过 100 条。

db.collection('集合名称').get().then(res => {
  // res.data 是一个包含集合中有权限访问的所有记录的数据,不超过 20 条
  console.log(res.data)
})

下面是在云函数端获取一个集合所有记录的例子,因为有最多一次取 100 条的限制,因此很可能一个请求无法取出所有数据,需要分批次取:

const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const MAX_LIMIT = 100
exports.main = async (event, context) => {
  // 先取出集合记录总数
  const countResult = await db.collection('集合名称').count()
  const total = countResult.total
  // 计算需分几次取
  const batchTimes = Math.ceil(total / 100)
  // 承载所有读操作的 promise 的数组
  const tasks = []
  for (let i = 0; i < batchTimes; i++) {
    const promise = db.collection('集合名称').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
    tasks.push(promise)
  }
  // 等待所有
  return (await Promise.all(tasks)).reduce((acc, cur) => {
    return {
      data: acc.data.concat(cur.data),
      errMsg: acc.errMsg,
    }
  })
}

更多数据库操纵语句查看:初始化 | 微信开放文档

更多API查看:微信开放文档文章来源地址https://www.toymoban.com/news/detail-482494.html

到了这里,关于微信小程序云开发 1 - 数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 微信小程序云开发,数据库“增”、“删”、“改”、“查”操作

    微信小程序云开发,数据库“增”、“删”、“改”、“查”操作

    因为项目需要刚接触小程序,算是个萌新,写这篇文章是为了巩固一下所学的东西(其实就是闲着太无聊了😂),代码是靠自己理解的,如果有错,欢迎各位指正( ̄︶ ̄*)) 废话不多说了,嘿喂狗~~ 首先说到数据库操作就会让人想到那四个字 “增”、“删”、“改”、“查”

    2024年02月09日
    浏览(24)
  • 微信小程序云开发—01(云数据库、云函数的创建与基本使用)

    微信小程序云开发—01(云数据库、云函数的创建与基本使用)

    1. 小程序云开发,让前端程序员拥有后端的能力 2. 云函数 (nodejs) 3. 云数据库 (mogodb) 4. 云存储 5. 前端写好云函数 - 上传到云服务器 -实现自定云部署 6. 前端去调用云函数=间接通过云函数对数据库的操作 7. 前端=》全栈 1. 在app.js 2. 云函数index.js 定义id 3. 云id来自 云开发

    2024年02月15日
    浏览(35)
  • 微信小程序上传头像的临时路径,持久化保存到服务器与数据库(nodejs后台开发)

    微信小程序上传头像的临时路径,持久化保存到服务器与数据库(nodejs后台开发)

    从微信小程序中返回的用户头像临时地址 http://tmp/H0GP7BW5HTQs846c0d9deef32d42f2203340efc4a5c3.jpeg 会失效,且只能一段时间内在微信访问,并且无法在公网访问用户头像临时地址avatarUrl。 所以需要将临时地址avatarUrl转成实际可用的地址保存到mysql数据库的wxusers表的avatarUrl列中,同时将

    2024年02月14日
    浏览(48)
  • 微信小程序笔记--数据库

    微信小程序笔记--数据库

    学习微信小程序 -- 数据库 数据库 1. 初始化 2. 数据库操作 2.1 数据类型云开发数据库提供以下几种数据类型: 2.2 增删查改                  2.2.1 增加/插入 数据(add方法)                  2.2.2 删除数据(remove方法)                  2.2.3 查看数据(get,where)    

    2024年02月03日
    浏览(11)
  • 微信小程序——操作数据库

    微信小程序——操作数据库

    访问次数应该与用户进行关联 业务逻辑: 如果用户是第一次访问此程序,向数据库添加一条记录:{openid:45454545,count:1} 如果用户不是第一次访问,首先获取数据库中改用户的访问次数然后+1,再保存到数据库中,然后更新页面中的访问次数 实现步骤: 在项目的pages中创建

    2024年04月17日
    浏览(11)
  • 微信小程序操作数据库

    微信小程序操作数据库

    1、数据库操作   在Web环境中发起HTTPS请求是很常见的,但是微信小程序是腾讯内部的产品,不能直接打开一个外部的链接。例如,在微信小程序中不能直接打开www.taobao.com网站,但是,在小程序开发的时候,如果需要请求一个网站的内容或者服务,如何实现?虽然微信小程

    2024年02月09日
    浏览(9)
  • 微信小程序怎么连接到数据库

    微信小程序怎么连接到数据库

    微信小程序是不能直接连接数据库进行数据操作的,这是出于安全的考虑。基本上都是先通过wx.request向服务器发起请求,再由服务端程序(如PHP)来对MySQL数据库进行数据操作。 微信小程序怎么连接到数据库 1、在微信小程序的index.js文件中编写请求数据库的小程序代码; 2、 用

    2024年02月08日
    浏览(10)
  • 微信小程序 -- 数据库数据excel文件批量导入

    一、excel文件批量导入数据到数据库 1.创建node.js函数upload,点击upload右键外部终端中安装类库 2.云函数代码 js代码

    2024年02月12日
    浏览(15)
  • 微信小程序连接云数据库基本使用

    这里仅仅展示了基本使用和常用函数,微信官方文档链接: 微信小程序云数据库官方文档 1.get 函数 获取 demo_list 数据库数据 2. doc 函数 按照 doc 的条件获取 demo_list 数据库数据 3.add 函数 用 add 函数添加数据,同时使用 promise 回调测试添加的数据 4、update 函数 按照条件查询更

    2024年02月04日
    浏览(14)
  • 微信小程序数据库更新update的使用

            微信小程序数据库的update功能不可以直接使用db.collection.update,此功能虽然在collection的使用说明文档中有,但是经过实际操作之后是无法成功更新的,必须使用db.collection.doc.update才可以完成。         使用db.collection.doc.update方式时,数据记录则应由add功能添加

    2024年02月03日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包