小程式雲開發模糊查詢,實現資料庫多欄位的模糊搜尋

tankII發表於2021-09-09

最近做小程式雲開發時,用到了一個資料庫的模糊搜尋功能,並且是要求多欄位的模糊搜尋。

網上也有一大堆資源,但是都是單個欄位的搜尋。如下圖
圖片描述
上圖只可以實現time欄位的模糊搜尋。但是我們如果相對資料表裡的多個欄位做模糊查詢呢?該怎麼辦呢。

多欄位模糊搜尋

一,如我們的資料表裡有以下資料,我們想同時模糊查詢name和address欄位

圖片描述

圖片描述
如我們搜尋“周杰”可以看到我們查詢到下面兩條資料。
圖片描述

二,如我們搜尋“程式設計”,可以搜尋到下面資料

圖片描述
可以看到我們搜尋到的兩條資料,一個是name欄位為 程式設計小石頭,
一個是address欄位裡包含“程式設計“ 字樣。

下面把程式碼貼給大家

    let key = "程式設計小石頭";
    console.log("查詢的內容", key)
    const db = wx.cloud.database();
    const _ = db.command
    db.collection('qcl').where(_.or([{
        name: db.RegExp({
          regexp: '.*' + key,
          options: 'i',
        })
      },
      {
        address: db.RegExp({
          regexp: '.*' + key,
          options: 'i',
        })
      }
    ])).get({
      success: res => {
        console.log(res)
      },
      fail: err => {
        console.log(err)
      }
    })

key就是我們要搜尋的關鍵字。主要是用到了資料庫查詢的where,or,get方法。
程式碼都給大家貼出來來,如果對雲開發和雲資料庫還不是很瞭解的同學可以去翻看下我以前寫的文章。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1795/viewspace-2824142/,如需轉載,請註明出處,否則將追究法律責任。

相關文章