龙空技术网

「问答聘聘」MongoDB里如何像'like"一样进行模糊查询?

问答聘聘 166

前言:

目前我们对“mysql多个模糊查询”大概比较珍视,看官们都需要剖析一些“mysql多个模糊查询”的相关内容。那么小编也在网上网罗了一些有关“mysql多个模糊查询””的相关知识,希望你们能喜欢,兄弟们快快来了解一下吧!

找工作简历屡屡被筛?

被HR约去面试结果岗位不匹配?

面试过程中疑似被骗方案?

想告别踩坑?

用问答聘聘,试试实力答题赢offer!

恭喜今天两位同学获得boss内推!

今日岗位提问

招聘岗位:Golang后端研发工程师

职位描述:

1、负责产品核心系统的研发工作;

2、参与制定前后端业务流程、接口协议、文档输出等;

3、参与项目研发、部署及日常运维工作;

任职要求:

1、两年以上开发经验,扎实的后端基础知识,精通golang;

2、熟悉Linux系统,能独立完成后台系统的开发、部署、维护;

3、熟悉网络编程,了解TCP/IP、HTTP等工作原理;

4、熟悉Mysql/MangoDB等数据库开发;熟悉Redis,Nginx,MQ等开源项目,有大数据,分布式项目经验优先;

5、算法基础良好,具备良好的分析解决问题能力,能独立承担任务和有系统进度把控能力;

6、责任心强,良好的对外沟通和团队协作能力,主动,好学。

职位问题:MongoDB里如何像”like"一样进行模糊查询?

在mysql里,可以使用like关键字像下面这样进行模糊查询:SELECT * FROM users WHERE name LIKE '%m%’

在MongoDB里该如何实现同样的效果?

今日入选回答

可以使用正则表达式解决这个问题,并且MongoDB中的正则表达式会比MySQL中的LIKE更强大。

Code:

db.users.find({"name": /.*m.*/})

or

db.users.find({"name": /m/})

值得注意的是,正则表达式的开销会相对较大,如果要快,还是要想办法使用索引,如果是表扫描,自然会慢。

另外,在不同语言中,可用中间件参考如下:

PyMongo, 用于 Python

Mongoose, 用于 Node.js

Jongo, 用于 Java

mgo, 用于 Go

Code:

db.users.find({'name': {'$regex': 'sometext'}})

在PHP里:

Code:

$collection->find(array('name'=> array('$regex' => 'm'));

标签: #mysql多个模糊查询