本文介绍如何在小程序的云数据库中实现模糊查询。

1. 官方方案

  • 官方文档 官方文档

构造正则表达式,仅需在普通 js 正则表达式无法满足的情况下使用

options 参数说明:

options 支持 i, m, s 这三个 flag,注意 JavaScript 原生正则对象构造时仅支持其中的 i, m 两个 flag,因此需要使用到 s 这个 flag 时必须使用 db.RegExp 构造器构造正则对象。flag 的含义见下表:

flag 说明
i 大小写不敏感
m 跨行匹配;让开始匹配符 ^ 或结束匹配符 $ 时除了匹配字符串的开头和结尾外,还匹配行的开头和结尾
s 让 . 可以匹配包括换行符在内的所有字符
// 原生 JavaScript 对象
db.collection('todos').where({description: /miniprogram/i
})// 数据库正则对象
db.collection('todos').where({description: db.RegExp({regexp: 'miniprogram',options: 'i',})
})// 用 new 构造也是可以的
db.collection('todos').where({description: new db.RegExp({regexp: 'miniprogram',options: 'i',})
})

2. 其他方案

原文:微信小程序云开发数据库模糊查询

官方文档中并没有模糊查询的功能,但是有正则表达式的功能,所以模糊查询就可以这样实现

const db = wx.cloud.database(); db.collection("collectionName").where({       //collectionName 表示欲模糊查询数据所在collection的名columnName:{                                //columnName表示欲模糊查询数据所在列的名$regex:'.*' + queryContent + '.*',      //queryContent表示欲查询的内容,‘.*’等同于SQL中的‘%’$options: 'i'                            //$options:'1' 代表这个like的条件不区分大小写,详见开发文档}}).get()

3. 实际使用示例

// 支持的参数: keyType - 事件类型,item - 服务条目对象,
// searchText-搜索关键字
exports.main = async (event, context) => {switch (event.keyType) {case "add":return await serviceDB.add({data: event.item})case "list":const db = cloud.database()const _ = db.commandreturn await db.collection("services").where({// 模糊查询:https://blog.csdn.net/c0411034/article/details/100423386 // 官方文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/Database.RegExp.htmlservice: db.RegExp({regexp: '.*' + event.searchText + '.*',options: 'i'}),}).orderBy("hot", "desc").orderBy("createtime", "desc").get()default:break}
}

小程序 | 云数据库模糊查询相关推荐

  1. 微信小程序云数据库 模糊查询 or和and 使用

    原文:https://blog.csdn.net/qq_29384639/article/details/97150340 解释: db.RegExp 从基础库 2.3.2 开始(wx-server- ...

  2. 微信小程序云数据库where查询语句字段名和字段值都可以是变量

    微信小程序云数据库where查询语句字段名和字段值都可以是变量 想要实现的功能 遇到的问题 js代码 想要实现的功能 界面代码 // An highlighted block <view cla ...

  3. javaweb简单的登录增删改查系统_利用python操作小程序云数据库实现简单的增删改查!

    不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了 背景 也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HT ...

  4. python删除数据库的数据完整代码_利用python操作小程序云数据库实现简单的增删改查...

    不止python,你可以利用任何语言那实现通过http请求来操作你自己的小程序云数据库了 背景 也是在最近吧,小程序更新了云开发 HTTP API 文档,提供了小程序外访问云开发资源的能力,使用 HT ...

  5. Web端访问微信小程序云数据库

    撰写背景: 用微信小程序云开发做了一个与web管理平台配套的微信小程序,Web端需要对接(访问)到云环境的云数据库. 开门见山: 在微信开发者工具里先把云开发控制台打开, 设置->权限设置-&g ...

  6. 微信小程序云开发成绩查询小程序的制作过程。

    微信小程序云开发成绩查询小程序的制作过程. 如果觉得我讲的好可以点个关注. 明确自己的目的,到底要做一个怎么样的小程序. 我先上效果图: 确定后就可以开始自己布局.主要是用css 1.先看首页,首页主 ...

  7. 外部web端访问微信小程序云数据库的几种方法

    前言 我当前的项目是小程序开发,使用的是云开发方式,那么这时涉及到了小程序端提交的数据会保存到云数据库中,可是呢这些个数据要被外部访问用来管理,也就是还得弄一个管理后台界面管理这些数据.那就需要拿到云 ...

  8. 微信小程序云数据库定时清空(云函数定时触发)

    需求: 微信小程序云数据库某表仅保留当天数据,因此每天固定某时间清空一次 实现: 1.新建云函数timer 2.在timer/config.json中配置定时器 {"triggers&quo ...

  9. 微信小程序云数据库触底分页加载,下拉无限加载,第一次请求数据随机,随机获取数据库的数据

    效果图 小程序云开发分页加载代码 <!--pages/chatList/chatList.wxml--> <view class="pageTitle">家 ...

  10. 微信小程序云函数中查询数据库时使用_.or时报错

    最开始的代码 一开始想使用 或 条件来查询数据库,照着官方文档的示例使用了 _.or,可是一直出现报错. 报错内容如下: 下面是最开始的问题代码: const cloud = require('wx- ...

最新文章

  1. 【2021斯坦福新书】统计学思维,300页pdf
  2. RTC 融合通信服务架构与场景应用 | 2021稀土开发者大会音视频专场
  3. Gradle自定义插件
  4. python字符串匹配的准确率_说说在 Python 中,如何找出所有字符串匹配
  5. sitescope 监控mysql_LoadRunner通过SiteScope监控MySQL的性能
  6. 三相四线怎样查漏电_漏电保护器的选用
  7. 统一视角理解实例分割算法:最新进展分析与总结
  8. Ubuntu平台采用Qemu搭建ARM虚拟机环境
  9. vos3000 2.1.1.5 安装包及注册机【电销电话机器人源码私有云部署 www.ruikesoft.com 正版授权 抵制盗版】
  10. 清华大学和ubc计算机哪个好,2021世界大学排名出炉!多大进前20!清华UBC并列!...
  11. ps中全选图层的方法
  12. undefined reference to `__stack_chk_guard' .. undefined reference to `__stack_chk_fail'
  13. 神兽麒麟kylin驾驭指南
  14. 西安交大计算机考研软件工程编程题库(二十四)
  15. 我用 10 张脑图,征服了一系列大厂面试官。
  16. 充气娃娃什么感觉?Python告诉你
  17. 新手的疑惑,动力取决于三点
  18. KOL投放指南(六):如何实现精准找号
  19. 理解DALL·E 2, Stable Diffusion和 Midjourney工作原理
  20. 迪士尼业务部门大变革,即将强推流媒体

热门文章

  1. 华为手机耳机sws音效是什么_【小知识】:华为SWS音效介绍。
  2. [xshell] xshell 及 xftp 官网无法下载解决
  3. 质量值体系 Phred33 和 Phred 64 的由来 及其在质量控制中的实际影响
  4. linux下哪个分区工具好,这些Linux分区工具是免费的且好用
  5. 网络安全系列-X: TCP/IP协议及报文格式详解
  6. 关于被调函数形参:SqList L、SqList L、SqList *L 的区别
  7. 职业教育计算机专业宣传,计算机专业介绍.ppt
  8. visio画图-去掉visio中多余的连接点
  9. 强连通分量的一种类 Tarjan 算法以及Tarjan算法推导初探
  10. 传值中处理jsp中文乱码问题