微信小程序云开发数据库与mysql区别以及增删改查
微信小程序云開發(fā)
概述
開發(fā)者可以使用騰訊提供的云服務(wù)來開發(fā)小程序、小游戲的服務(wù)端,而無需搭建服務(wù)器。云開發(fā)提供的基礎(chǔ)能力有:
云數(shù)據(jù)庫
是一個既可以在小程序端操作,也可以在云函數(shù)中操作的json類型的非關(guān)系型數(shù)據(jù)庫。
云存儲
云存儲支持在小程序前端直接上傳下載文件。
云函數(shù)
云函數(shù)是在小程序端聲明,上傳至云服務(wù)器,在云服務(wù)器中待執(zhí)行的函數(shù)。
開通云開發(fā)服務(wù)
單擊開發(fā)工具工具欄中的**【云開發(fā)】**按鈕。
選擇預(yù)付配,免費版,點擊開通即可。
云數(shù)據(jù)庫
是一個既可以在小程序端操作,也可以在云函數(shù)中操作的json類型的非關(guān)系型數(shù)據(jù)庫。(基于MongoDB)
云數(shù)據(jù)庫與mysql之間的區(qū)別
mysql數(shù)據(jù)庫存儲數(shù)據(jù)的方式:
| 1 | zs | m | 1 |
| 2 | ls | m | 1 |
| 3 | ww | f | 2 |
| … | … | … | … |
| 1 | 三年一班 | 15 |
| 2 | 三年二班 | 18 |
| … | … | … |
非關(guān)系型數(shù)據(jù)庫存儲上述信息的格式如下:
[{id: 1,name: 'zs',gender: 'm',classroom: {id: 1,name: '三年一班',count: 15} },{id: 2,name: 'ls',gender: 'm',classroom: {id: 1,name: '三年一班',count: 15} },{id: 3,name: 'ww',gender: 'f',classroom: {id: 2,name: '三年二班',count: 18} }]數(shù)據(jù)存儲的格式的不同,導(dǎo)致概念上會有差別:
| 數(shù)據(jù)庫 | 數(shù)據(jù)庫 |
| 表 | 集合 collection |
| 行、記錄 | 記錄、對象、文檔 document |
| 列、字段 | 字段、屬性 |
所以,我們再敘述非關(guān)系型數(shù)據(jù)庫時,會如下描述:
在非關(guān)系型數(shù)據(jù)庫中有一個集合,這個集合中存儲了三條文檔(三個對象、三條記錄),每條文檔中包含四個字段,用于描述學(xué)生屬性。其中classroom字段又是一條文檔,包含三個字段,用于描述班級屬性。
云數(shù)據(jù)庫的操作
插入數(shù)據(jù)
獲取操作數(shù)據(jù)庫的引用(指定環(huán)境ID):
const db = wx.cloud.database({env: '環(huán)境`ID`' })調(diào)用相關(guān)API,新增數(shù)據(jù):
db.collection('集合名稱').add({data: {// 待添加的記錄數(shù)據(jù)},success: function(res) {// 成功后會調(diào)用該方法,返回res。} })案例:新增數(shù)據(jù)
新建項目:云開發(fā)項目:云開發(fā)測試Demo
整理新項目的目錄結(jié)構(gòu)。
miniprogram為小程序的根目錄
cloudfunctions為云函數(shù)的根目錄
新建頁面:pages/add/add,提供插入評論功能操作。
注意:使用add方法添加成功后,云數(shù)據(jù)庫將會為這一條記錄新增一個字段:_openid,這個字段的值關(guān)聯(lián)了當(dāng)前添加這條記錄的用戶的openid,也表達(dá)了這條記錄屬于誰。
查詢數(shù)據(jù)
通過id查詢單條記錄
const db = wx.cloud.database() db.collection('集合名字') // 返回Collection對象 描述集合.doc('記錄的_id') // 返回Record對象 描述一條記錄.get() // 返回Promise對象.then(res=>{ ... }) // res即是查詢得到的結(jié)果注意數(shù)據(jù)庫中集合的權(quán)限設(shè)置,若沒有權(quán)限,則無法訪問集合中的數(shù)據(jù)。默認(rèn)集合的訪問權(quán)限為:僅創(chuàng)建者可讀寫,意味著僅創(chuàng)建數(shù)據(jù)的用戶才可以操作該數(shù)據(jù)。可以在云開發(fā)控制臺中修改集合的數(shù)據(jù)訪問權(quán)限,改為:所有用戶可讀,僅創(chuàng)建者可讀寫。
添加篩選條件查詢多條記錄
let _ = db.command; // 封裝了查詢指令 db.collection('集合名稱').where({married: false // 添加篩選條件 married=false,age: _.lt(30) // 等價于:age<30 }).get({success: function(res) {console.log(res.data)} })db.command中封裝了數(shù)據(jù)庫操作指令:
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/query.html
API 提供了以下查詢指令:
| eq | 等于 |
| neq | 不等于 |
| lt | 小于 |
| lte | 小于或等于 |
| gt | 大于 |
| gte | 大于或等于 |
| in | 字段值在給定數(shù)組中 |
| nin | 字段值不在給定數(shù)組中 |
總結(jié)
以上是生活随笔為你收集整理的微信小程序云开发数据库与mysql区别以及增删改查的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: csv乱码问题
- 下一篇: EEG脑地形图绘制程序