小程序雲開發 一開通雲開發,給數據庫添加一條記錄

先來一個給雲數據庫添加一條數據庫記錄的代碼:

    wx.cloud.init({
      env:'school-5k07l'
    })
    const db = wx.cloud.database()
    const school = db.collection('school_db')

    //school_db是數據庫記錄的名稱,相當於MYSQL中數據庫的表的名字
    
    school.add({
      // data 字段表示需新增的 JSON 數據
      data: {
        name: '食堂廁所',
        place: '一二食堂一樓',
        type: '廁所'
      },
      success: function (res) {
        // res 是一個對象,其中有 _id 字段標記剛創建的記錄的 id
        console.log('--------------',res)
      }
    })

第一步,開通雲開發:

點擊開發者工具左上角的雲開發按鈕,就可以開通,個人認證的小程序也可以開通。

開通之後會有一個控制檯,可以直接在控制檯進行數據庫的操作

注:AppID 首次開通雲環境後,需等待大約 10 分鐘方可正常使用雲 API

 

雲開發中的數據庫和普通的數據庫是有區別的,下面看看有什麼區別

雲開發提供了一個 JSON 數據庫,顧名思義,數據庫中的每條記錄都是一個 JSON 格式的對象。一個數據庫可以有多個集合(相當於關係型數據中的表),集合可看做一個 JSON 數組,數組中的每個對象就是一條記錄,記錄的格式是 JSON 對象。

關係型數據庫和 JSON 數據庫的概念對應關係如下表:

關係型 文檔型
數據庫 database 數據庫 database
表 table 集合 collection
行 row 記錄 record / doc
列 column 字段 field

以下是一個示例的集合數據,假設我們有一個 books 集合存放了圖書記錄,其中有兩本書:

[
  {
    "_id": "Wzh76lk5_O_dt0vO",
    "title": "The Catcher in the Rye",
    "author": "J. D. Salinger",
    "characters": [
      "Holden Caulfield",
      "Stradlater",
      "Mr. Antolini"
    ],
    "publishInfo": {
      "year": 1951,
      "country": "United States"
    }
  },
  {
    "_id": "Wzia0lk5_O_dt0vR",
    "_openid": "ohl4L0Rnhq7vmmbT_DaNQa4ePaz0",
    "title": "The Lady of the Camellias",
    "author": "Alexandre Dumas fils",
    "characters": [
      "Marguerite Gautier",
      "Armand Duval",
      "Prudence",
      "Count de Varville"
    ],
    "publishInfo": {
      "year": 1848,
      "country": "France"
    }
  }
]

在圖書信息中,我們用 titleauthor 來記錄圖書標題和作者,用 characters 數組來記錄書中的主要人物,用 publishInfo 來記錄圖書的出版信息。在其中我們可以看到,字段既可以是字符串或數字,還可以是對象或數組,就是一個 JSON 對象。

每條記錄都有一個 _id 字段用以唯一標誌一條記錄、一個 _openid 字段用以標誌記錄的創建者,即小程序的用戶。需要特別注意的是,在管理端(控制檯和雲函數)中創建的不會有 _openid 字段,因爲這是屬於管理員創建的記錄。開發者可以自定義 _id,但不可自定義和修改 _openid 。_openid 是在文檔創建時由系統根據小程序用戶默認創建的,開發者可使用其來標識和定位文檔。

數據庫 API 分爲小程序端和服務端兩部分,小程序端 API 擁有嚴格的調用權限控制,開發者可在小程序內直接調用 API 進行非敏感數據的操作。對於有更高安全要求的數據,可在雲函數內通過服務端 API 進行操作。雲函數的環境是與客戶端完全隔離的,在雲函數上可以私密且安全的操作數據庫。

數據庫 API 包含增刪改查的能力,使用 API 操作數據庫只需三步:獲取數據庫引用、構造查詢/更新條件、發出請求。以下是一個在小程序中查詢數據庫的發表於美國的圖書記錄的例子:

// 1. 獲取數據庫引用
const db = wx.cloud.database()
// 2. 構造查詢語句
// collection 方法獲取一個集合的引用
// where 方法傳入一個對象,數據庫返回集合中字段等於指定值的 JSON 文檔。API 也支持高級的查詢條件(比如大於、小於、in 等),具體見文檔查看支持列表
// get 方法會觸發網絡請求,往數據庫取數據
db.collection('books').where({
  publishInfo: {
    country: 'United States'
  }
}).get({
  success: function(res) {
  // 輸出 [{ "title": "The Catcher in the Rye", ... }]
  console.log(res)
 }
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章