微信小程序(八)-项目实例(原生框架 MINA转云开发)==03-云开发-数据库
云数据库
云数据库开发文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database.html
1.新建云数据库(小程序中叫集合名,以前叫表名,轮播图表)

2.在数据表中加入数据
1.新建一个excel.csv文件(indexLBT.csv)
2.表中新建两个字段(lbtID,src)
3.将数据填在表中保存(先要将图片上传到云存储中)


4.导入文件 indexLBT.csv 到数据库中


3.初始化(哪个组件中要用数据库的数据就在哪个组件js文件中引用)
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/init.html

Page({
onLoad() {
// 初始化云数据库(1-2步固定写法)
// 1.获取当前云环境下(env:"wcg-8gmhce8s0001d52f")的数据库的引用
const DB = wx.cloud.database()
// 2.获取集合(数据库表名users)的引用
const lunbotu = DB.collection("index-lunbotu")
// 使用数据(1.查询: get )
lunbotu.get({
// 请求成功
success(res){
console.log(res)
},
// 请求失败
fail(err){
console.log(err)
}
})
}
})
index.js

4.使用数据(要注意数据的权限,不然查询不到数据)
1.查询 .get() https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/read.html
1.传统写法:

Page({
onLoad() {
// 初始化云数据库(1-2步固定写法)
// 1.获取当前云环境下(env:"wcg-8gmhce8s0001d52f")的数据库的引用
const DB = wx.cloud.database()
// 2.获取集合(数据库表名users)的引用
const lunbotu = DB.collection("index-lunbotu")
// 使用数据(1.查询: get )
lunbotu.get({
// 请求成功
success(res){
console.log(res)
},
// 请求失败
fail(err){
console.log(err)
}
})
}
})
index.js
2.ES6的简洁写法(箭头函数):

Page({
onLoad() {
// 初始化云数据库(1-2步固定写法)
// 1.获取当前云环境下(env:"wcg-8gmhce8s0001d52f")的数据库的引用
const DB = wx.cloud.database()
// 2.获取集合(数据库表名users)的引用
const lunbotu = DB.collection("index-lunbotu")
// 3.使用数据(1.查询: get )
// 3.1 传统写法
// lunbotu.get({
// // 请求成功
// success(res){
// console.log(res)
// },
// // 请求失败
// fail(err){
// console.log(err)
// }
// })
// 3.2 ES6简洁写法(箭头函数)
lunbotu.get()
// 请求成功
.then(res=>{
console.log(res)
})
// 请求失败
.catch(err=>{
console.log(err)
})
}
})
index.js

这样有可能就查询不到数据

修改权限后查询就有


3.展示数据(轮播图)

Page({
data: {
lunbotu: []
},
onLoad() {
// 初始化云数据库(1-2步固定写法)
// 1.获取当前云环境下(env:"wcg-8gmhce8s0001d52f")的数据库的引用
const DB = wx.cloud.database()
// 2.获取集合(数据库表名users)的引用
const lunbotu = DB.collection("index-lunbotu")
// 3.使用数据(1.查询: get )
lunbotu.get()
// 请求成功,将数据赋值给 lunbotu 在页面展示
.then(res => {
this.setData({
lunbotu: res.data
})
})
// 请求失败
.catch(err => {
console.log("数据请求失败!")
})
}
})
index.js

<view class="index_swiper">
<!--
1 swiper标签存在默认的宽度和高度 100%*150px
1 如果不改变swiper标签的默认尺寸,哪图片尺寸最好750px*150px
2 如果图片不是750*150尺寸,就得根据图片的高度调整swiper标签的高度(swiper标签高=图片高)
2 image标签默认宽度和高度 320px*240px
1.图片是放到swiper标签中的,哪么图片是默认尺寸,哪放到swiper标签中就是宽度 320px(100%)*150px
2.要将图片放到swiper标签中装满并且不变形,就得调整图片的宽度为100%,图片高度自适应(mode="widthFix")
3 图片标签 mode属性渲染模式
1.widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
2.widthFix 让图片标签宽高和图片标签内容的宽高都等比例的发生变化
4 例:实际图片宽高为 750*268 (图片宽度最好是750px)
1.先设图片属性 mode="widthFix"
2.swiper标签高设 height: 268rpx;(图片的高度)
3.image 标签宽设 width: 100%;
-->
<swiper autoplay circular interval="5000" indicator-dots indicator-active-color="red" indicator-color="#0094ff">
<swiper-item wx:for="{{lunbotu}}" wx:key="lbtID">
<image mode="widthFix" src="{{item.src}}" />
</swiper-item>
</swiper>
</view>
index.wxml
4 条件查询 .where({})

5.查询单条数据 .doc("_id") 返回是一个对象{},展示值时按对象值展示,中间参数是对应的数据库自动生成的_id

6.获取指定数据数量 .limit()

2.增加数据 .add({data:{对应的字段}})
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/add.html
3.修改数据 .update({data:{对应的字段}})
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/update.html
4.删除单条数据 .remove()
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/remove.html
99.
微信小程序(八)-项目实例(原生框架 MINA转云开发)==03-云开发-数据库的更多相关文章
- 微信小程序(七)-项目实例(原生框架 MINA转云开发)==02-云开发-配置
云开发:1.就是用云函数的型式来使用云存储和云数据库完成各种操作! 2.只关注调什么函数,完成什么功能即可,无需关心HTTP请求哪一套! 3.此模式不代表没有服务器,只是部署在云环境中 ...
- 微信小程序(六)-项目实例(原生框架 MINA基配搭建)==01-头搜索框tabbar
项目实例(原生框架 MINA) 1.新建小程序项目 1.用自已的小程序APPID 2.清除整理项目中初建默认无关的代码 1.app.json 中删除logs,同时删除pages下的losgs文件夹 2 ...
- 小程序-文章:微信小程序常见的UI框架/组件库总结
ylbtech-小程序-文章:微信小程序常见的UI框架/组件库总结 1.返回顶部 1. 想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小 ...
- 像VUE一样写微信小程序-深入研究wepy框架
像VUE一样写微信小程序-深入研究wepy框架 微信小程序自发布到如今已经有半年多的时间了,凭借微信平台的强大影响力,越来越多企业加入小程序开发. 小程序于M页比相比,有以下优势: 1.小程序拥有更多 ...
- 微信小程序常见的UI框架/组件库总结
想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小程序也渐渐更新,其中不乏一些优秀好用的框架/组件库. 1:WeUI 小程序–使用教程 h ...
- 天河微信小程序入门《四》:融会贯通,form表单提交数据库
天河在阔别了十几天之后终于又回来了.其实这篇文章里的demo是接着(天河微信小程序入门<三>)后面就做了的,但是因为最近在做别的项目,所以就偷懒没有发出来.放到今天来看,从前台提交数据到数 ...
- 微信小程序之:wepy框架
1.介绍 WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性. 2.使用 npm install -g wepy-cl ...
- 微信小程序(二)框架的基本组成
安装好 微信web开发者工具后. 让我们来了解一下工具的框架,上图: 工具总共分为三个部分,左上角红框框: 模拟器:模拟手机小程序界面,模拟器左上角可以选择手机型号,右上角红框处,千万别选成Offic ...
- 微信小程序踩坑日记4——真机端解析json数组和开发平台不一样
0. 引言 环境:访问服务器端php,获取json数组,并渲染在前台 问题描述:保证在开发平台上的正常运行,但是在真机端却出现了无法正确解析wx.request()返回的数据(特指无法解析res.da ...
随机推荐
- 用鸿蒙开发AI应用(七)触摸屏控制LED
[小年答谢,新春送礼]免费抽取1000元京东卡+更多新春好礼~查看详情>>> 目录:前言背景知识编译用户程序框架子系统基于AbilityKit开发的Ability总结 前言上一篇,我 ...
- 2019 Multi-University Training Contest 2 Harmonious Army(最小割)
题意:给你n个点 每个点都有两种选择 成为战士或者法师 现在给你m个关系 对应这两个人的对应关系的权值A,B,C 思路:按照下面的思路建图跑最小割(要注意权值要乘2 可能存在不整除的情况) #incl ...
- Codeforce 380A Sereja and Prefixes【二分】
题意:定义两种操作 1 a ---- 向序列中插如一个元素a 2 a b ---- 将序列的前a个元素[e1,e2,...,ea]重复b次插入到序列中 经过一列操作后,为处于某个位置p的元素是多少.数 ...
- Codeforces 1355 C. Count Triangles
传送门:C - Count Triangles 题意:给你四个数A,B,C,D,求有多少个三边为x,y,z (A ≤ x ≤ B ≤ y ≤ C ≤ z ≤ D)的三角形. 题解:枚举 x=A~B, ...
- Codeforces Round #640 (Div. 4)
比赛链接:https://codeforces.com/contest/1352 A - Sum of Round Numbers 题意 将一个十进制数的每一个非零位分离出来. 代码 #include ...
- Codeforces Round #681 (Div. 1, based on VK Cup 2019-2020 - Final) B. Identify the Operations (模拟,双向链表)
题意:给你一组不重复的序列\(a\),每次可以选择一个数删除它左边或右边的一个数,并将选择的数append到数组\(b\)中,现在给你数组\(b\),问有多少种方案数得到\(b\). 题解:我们可以记 ...
- 牛客编程巅峰赛S1第3场 - 青铜&白银 A.位数求和
题意:求所有\(n\)位数每位之和等于\(m\)的数的和. 题解:数据范围非常小,我们可以直接暴力枚举\(t\)到\(10*t\)的所有数字,逐位分解判断即可. 代码: class Solution ...
- 13. 从0学ARM-Cortex-A9 RTC裸机程序编写
一.RTC RTC(Real-Time Clock) 实时时钟. RTC是集成电路,通常称为时钟芯片.在一个嵌入式系统中,通常采用RTC来提供可靠的系统时间,包括时分秒和年月日等,而且要求在系统处于关 ...
- 一、Jmeter进行Mysql数据库的压测
1.首先需要安装配置mysql数据库连接驱动:mysql-connector-java-5.1.28.jar 1.1 网上很多资源,可自行下载: 1.2 下载完成后,分别将该jra包,存放到:jmet ...
- CF1474-B. Different Divisors
CF1474-B. Different Divisors 题意: 题目给出你一个\(d\),要求你找出一个数字\(y\),找到的\(y\)至少有四个整数因子并且任意两个因子之间的差至少为\(d\). ...