小程式 資料庫操作
在雲控制檯操作雲資料庫,即建立資料庫和插入資料等操作。
雲開發資料庫提供的資料型別:string、number、object、array、bool、GeoPoint(地理位置點)、Date(時間)、Null
其中的Date表示時間,精確到毫秒。小程式端用Javascript內建Date物件建立的時間是客戶端時間,在需要用服務端時間的時候,用API中提供的serverDate物件來建立服務端當前的時間標記。
GeoPoint:用於表示地理位置點,經緯度唯一標記一個點,可以把這個地理位置理解為平面直角座標系,這樣就更容易理解地理位置點了。
和平常操作資料庫類似。在對資料庫進行增刪查改之前,先連線資料庫。對小程式雲資料庫進行操作的時候,先獲取資料庫的引用。
const db = wx.cloud.database({});
要操作資料庫的一個集合時。也是需要先獲取該集合的引用。
const table = db.collection('todos');
現在就可以往集合 todos 新增一條json資料了。
const db = wx.cloud.database({});
const table = db.collection('todos');
table.add({
data: {
description: "我正在學習雲開發!",
due: new Date(),
tags: [
"cloud",
"database"
],
},
success: function(res) {
console.log(res._id)
}
});
在雲開發控制檯檢視,是否新增成功
最下面的資料就是剛剛新增的資料。
讀取資料: 現在讀取資料庫中剛剛插入的一條資料,doc就是對應的key的值。
table.doc("W54MA0XodRKIs7ZO").get({
success:function(res){
console.log(res.data)
}
});
獲取的結果如下:
讀取多條資料 :要讀取多條資料時,就在獲取集合後新增where判斷。
const db = wx.cloud.database({});
const table = db.collection('todos');
table.where({
_openid: 'o_ggh0cxzVwcLNSZTyOlAF_iyNKs'
}).get({
success:function(res){
console.log(res.data)
}
});
效果如圖:
更改資料:使用update方法來更新一個記錄或一個集合,其他資料不會受到影響。
如要修改ID為W54MA0XodRKIs7ZO的記錄,
table.doc("W54MA0XodRKIs7ZO").update({
data: {
description: "很好"
},
success: function (res) {
console.log(res)
}
})
刪除資料:用remove函式來刪除資料庫中的一條資料,如果要刪除多條資料的話,就必須在server端進行操作(就是雲函式)
const db = wx.cloud.database({});
const table = db.collection('todos');
table.doc("W54MA0XodRKIs7ZO").remove({
success:function(res){
console.log(res)
}
})