uniCloud


1、關系型數據庫於nosql數據庫的關系

 

 

 2、基本使用

//創建數據庫
const db = uniCloud.database();
//創建集合 , 如果集合存在會報錯
db.createCollection(collectionName)
//操作集合(表),獲取集合的引用
db.collection(collectionName).doc(docId)

 

3、操作Collection

 

 

 4、操作Record/Document

 

 

 5、查詢篩選(db.command)

 

 在where查詢中 eq()和:都是等於的意思 ,二者區別在於 eq查詢到的引用數據 是全等的 必須一模一樣的,而:包含就好了

in和nin表示包含與不包含關系,里邊傳需要查詢的數組。cmd.in(<Array>)

and表示且,cmd.and( cmd指令 ),一般用於單個字段中,前置語法更加方便cmd.and(語法一,語法二)

6、更新字段(db.command)

 

 

 7、數據類型

 

 

  注:Date表示客戶端時間,Null表示占位符,有字段當時值為空

    服務端時間使用 new db.serverDate()獲取

  日期比較需要先進行聚合操作進行日期轉換

'use strict';
const db = uniCloud.database()
exports.main = async (event, context) => {
    const dbCmd = db.command
    const $ = dbCmd.aggregate
    let res = await db.collection('unicloud-test').where(dbCmd.expr(
        $.gte(['$time',$.dateFromString({
            dateString: new Date('2020-02-02').toISOString()
        })])
    )).get()
    return res
};

 

集合新增

  //新增單條    
  let res = await user.add({
        name:'Ben'
    })
  //新增多條
    let ress = await user.add([
        {name:'jack'},
        {name:'rose'},
        {name:'cc',like:'pp'}
    ])    

集合查詢

支持 where()limit()skip()orderBy()get()field()count() 等

let user = db.collection('user')
// 高級查詢指令
const cmd = db.command
// 查詢限制
let res =await user.limit(5).get()
// 查詢數量
let res1 = await user.where({name:'lisi'}).count(2)
// where正則
let res2 = await user.where({name:/^l/}).get()
// 高級查詢
let res3 = await user.where({
age:cmd.gt(18)
}).get()
// 高級查詢於過濾,排序,限制數量,指定字段
let res4 = await user
.where({age:cmd.exists(true)})
.where({age:cmd.gt(18)})
.orderBy('age','asc')
.limit(2)
.field({'name':true,'_id':true})
.get()
let res5 = await user.where({age:cmd.gt(25)}).get()
let res6 = await user.where({age:cmd.gte(25)}).count()
let res7 = await user.where({age:cmd.lte(5)}).field({name:true}).get()
let res8 = await user.where({age:cmd.nin([25,40,5]).and(cmd.gte(18))}).get()
let res9 = await user.where({

age:cmd.and(cmd.lt(40),cmd.gt(18)).or(cmd.eq(5))

}).get()

get():默認取前100條,最大取前100條,get()是查詢必備的條件

where():做篩選,字段可以使用正則匹配

count():查詢到的數量,需要跟where一起用,不需要加get

limit():查詢多少條

orderBy():結果排序,asc表升序,desc表降序;用點表示法進行連接嵌套

field():查詢需要的字段

集合刪除

集合刪除就是先找到集合的引用 然后再調用remove方法

通過id刪除:collection.doc(_id).remove()

通過條件刪除:collection.where().remove()

    let user = db.collection('user')
    // 高級查詢指令
    const cmd = db.command
    // docId刪除
    let res  =await user.doc('5f9a73ed266d14000151d653').remove()
    // 條件刪除
    let res1 = await user.where({
        age:cmd.or(cmd.eq(40),cmd.eq(5))
    }).remove()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM