微信小程序(八)-项目实例(原生框架 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 ...
随机推荐
- 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 确的浮点数运算,包括加减乘除和四舍五入。
package com.minxinloan.utils; import java.math.BigDecimal; public class Arith { // 源文件Arith.java: /* ...
- python——模块、标准库、第三方模块安装
模块(module)简介 模块化--指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序. 模块化的特点: ① 方便开发 ② 方便维护 ③ 模块可以复用! 在Python中 ...
- Codeforces Round #633 (Div. 2)
Codeforces Round #633(Div.2) \(A.Filling\ Diamonds\) 答案就是构成的六边形数量+1 //#pragma GCC optimize("O3& ...
- hdu4352 XHXJ's LIS (数位dp)
Problem Description #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then careful ...
- Codeforces Round #481 (Div. 3) F. Mentors (模拟,排序)
题意:有一个长度为\(n\)的序列\(a\),求这个序列中有多少比\(a_{i}\)小的数,如果某两个位置上的数有矛盾,则不能算小. 题解:用\(pair\)来记录序列中元素的位置和大小,将他们升序排 ...
- 踏上Revit二次开发之路 2 从“HelloWorld”入手
2 从"HelloWorld"入手 在欧特克的官方网页上有个叫<My First Plug-in Training>的项目,号称可以让一个完全没有编程基础的人照着做出一 ...
- Django分页APP_django-pure-pagination
一.App说明 该App用户Django的数据分页功能 二.安装 pip install django-pure-pagination 三.使用方法 (1)settings注册 INSTALLED_A ...
- spring再学习之简单测试
一.spring是怎么工作的那,通过一个类装载进容器进行描述: 首先创建一个类user: package cn.itcast.bean; public class User { public User ...
- leetcode一些细节
取数组中点时不要写 int mid = (left + right) // 2;,「这么写有一个问题:数值越界,例如left和right都是最大int,这么操作就越界了,在二分法中尤其需要注意!」 所 ...
- codeforces 1042D - Petya and Array【树状数组+离散化】
题目:戳这里 题意:有n个数,问有多少个区间满足[L,R]内的和小于t. 解题思路: [L,R]内的和小于t等价于sum[R]-sum[L-1]<t,将sum[L-1]左移,可以看出R与L的关系 ...