微信小程序雲數據庫——where查詢和doc查詢區別


用法

  • 條件查詢where
    • 我們也可以一次性獲取多條記錄。通過調用集合上的 where 方法可以指定查詢條件,再調用 get 方法即可只返回滿足指定查詢條件的記錄,比如獲取用戶的所有未完成的待辦事項,用法如下
      db.collection('todos').where({
        _id: '9a93a1765ddcd69d007a65d851062550'
      })
      .get({
        success: function(res) {
          // res.data 是包含以上定義的一條記錄的數組
          console.log(res.data)
        }
      })
    • Next
  • 根據唯一標識查詢doc
    • 我們先來看看如何獲取一個記錄的數據,假設我們已有一個 ID 為 todo-identifiant-aleatoire 的在集合 todos 上的記錄,那么我們可以通過在該記錄的引用調用 get 方法獲取這個待辦事項的數據,用法如下
      db.collection('todos').doc('9a93a1765ddcd69d007a65d851062550')
      .get({
        success: function(res) {
          // res.data 包含該記錄的一條數據對象
          console.log(res.data)
        }
      })
    • Next

區別

  • 使用where根據查詢條件,查詢出來的數據結果是對象數組;使用doc本質上是根據唯一標識_id查詢數據,所以查詢出來的只是一個對象
  • 舉例(同時以_id作為條件查詢)
    • where
      • 代碼
        //通過id條件查找用戶
          finduserbyid:function(){
            db.collection('user').where({
              _id: '415a735d5ddcd69d007a44ef17be53f0'
            })
            .get()
            .then(res=>{
              console.log(res);
              this.setData({
                user_list: res.data
              });
            })
            .catch(err=>{
              console.log(err);
            });
          },
      • 查詢結果如下
    • doc
      • 代碼如下
        finduserbyid:function(){
            db.collection('user').doc('415a735d5ddcd69d007a44ef17be53f0')
            .get()
            .then(res=>{
              console.log(res);
              this.setData({
                user_list: res.data
              });
            })
            .catch(err=>{
              console.log(err);
            });
          },
      • 查詢結果如下
    • Next
  • Next


免責聲明!

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



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