iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mongo中模糊查询怎么用
  • 377
分享到

mongo中模糊查询怎么用

2024-04-02 19:04:59 377人浏览 薄情痞子
摘要

这篇文章主要介绍了monGo中模糊查询怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。以下是一个mongo查询的综合应用,即介绍一个生产

这篇文章主要介绍了monGo中模糊查询怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录

{ 
 "_id" : "ffe6a068-9043-4334-97d2-75387340e655", 
 "file_id" : "ffe6a068-9043-4334-97d2-75387340e655", 
 "name" : "中国正大", 
 "update_time" : NumberInt(1554975642), 
 "create_time" : NumberInt(1554975642), 
 "content" : "中国正大相关信息", 
 "file_url" : "", 
 "file_type" : "", 
 "user_ids" : [
 1.0, 
 10.0
 ], 
 "group_ids" : [

 ], 
 "is_common" : NumberInt(0), 
 "confidence" : -1.0, 
 "obj_id" : "", 
 "source" : "", 
 "content_time" : "", 
 "author" : "", 
 "summary" : "", 
 "info_type" : "00", 
 "sub_info_type" : "", 
 "title" : "", 
 "Word_num" : NumberInt(8)
}

对上面一条记录或者更多条记录我们生产中的需求是:查询出集合中(mongo中的集合即是Mysql中的表),name或content中包含"正大"二字的记录(关键词即是用户随机输入的,其实是一个变量),并且时间戳的值大于某一个开始时间和某一个结束时间(这个也是用户在前端进行选择,然后我们拿到前端的请求来进行查询的),并且文件的类型即info_type字段的值为"00",“00”代表的是word也是前端用户选择后我们获取的条件之一,当然还有其他条件想进行尝试可以自由发挥

下面就是使用mongo语句进行实现的上面的需求:

db.getCollection("subscribe_test").find({$or:[{"name":{"$regex":"正大"}},{"content":{"$regex":"正大"}}],"update_time":{$gte:1,$lte:2000000000},info_type:"00"})

对于查询我们有的时候会选择在程序中进行,有的小伙伴会问上面的mongo语句怎么在编程语言中进行实现,下面是用python语言中进行实现的,我们会引用Python中操作mongo的一个模块即pymongo模块可以使用pip install pymongo在控制台或cmd中进行一键安装,至于如何使用也很简单,可以自行百度或者访问我的另一篇博客:pymono的简单使用,下面附上用python代码实现上面需求的业务代码:

import pymongo
import re
# 创建数据库连接
client = pymongo.MongoClient(host='127.0.0.1', port=8014) #填写自己本机数据库的ip和port或者远程服务器数据库的ip和port
# 指定数据库db1,没有则创建数据库db1
db = client.dataretrieve
#指定数据库中指定的表
collection=db.subscribe_test

"""1、对表中的数据进行查询"""
"""
db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
"""
query = {}
query["$or"] = [
 {"name": re.compile("正大")},
 {"content": re.compile("正大")},
]
query["file_type"] = "00"
query["update_time"] = {"$gte": 0,"$lte": 2000000000}
row=collection.find(filter=query)
for r in row:
 print(r["content"])

下面是生产中实际的开发代码,只供参考,只是把上面的一些常量,换成了从前端请求的数据:

def person_handler(req_params, page_size, search_offset):
 """
 去mongo中查询个人数据
 :param req_params:
 :param page_size:
 :param search_offset:
 :return:
 """
 results = []
 query = {}
 update_time = {}
 if 'start_time' in req_params and req_params["start_time"]:
 start_time = int(req_params["start_time"])
 update_time['$gte'] = start_time
 if 'end_time' in req_params and req_params['end_time']:
 end_time = int(req_params["end_time"])
 update_time['$lte'] = end_time
 if update_time:
 query["update_time"] = update_time
 if 'file_type' in req_params and req_params['file_type']:
 query["file_type"] = req_params["file_type"]
 if 'user_ids' in req_params and req_params['user_ids']:
 query['user_ids'] = int(req_params['user_id'])
 serch_keywords = req_params["search_keywords"]

 query["$or"] = [
 {"name": re.compile(serch_keywords)},
 {"content": re.compile(serch_keywords)},
 ]
 print(query)
 result = person_mongodao.search(filter=query).skip(search_offset).limit(page_size)
 count = person_mongodao.search(filter=query).skip(search_offset).limit(page_size).count()
 for row in result:
 results.append(row)
 additions = {"word_segs": req_params["search_keywords"], "remind": 0}
 print("查询结果", results)
 return results, additions, count

如果有小伙伴说我用的不是python语言譬如java用代码怎么实现呢?那么如果你会写mysql来实现上面的需求的话本博主可以推荐你使用mongo的一款可视化工具Studio 3T来将mysql语句转换成mongo语句,python语句,java语句等

mongo中模糊查询怎么用

mysql语句也类似mongo语句有一个控制台可以来进行书写mysql语句,然后进行查询之后将结果进行转换

mongo中模糊查询怎么用

感谢你能够认真阅读完这篇文章,希望小编分享的“mongo中模糊查询怎么用”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: mongo中模糊查询怎么用

本文链接: https://www.lsjlt.com/news/58565.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mongo中模糊查询怎么用
    这篇文章主要介绍了mongo中模糊查询怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。以下是一个mongo查询的综合应用,即介绍一个生产...
    99+
    2022-10-18
  • LINQ模糊查询怎么使用
    本篇内容主要讲解“LINQ模糊查询怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ模糊查询怎么使用”吧!LINQ模糊查询实现的多条件复合搜索效果如下图:LINQ模糊查询实现阶段一:...
    99+
    2023-06-17
  • PHP中怎么利用where模糊查询
    这篇“PHP中怎么利用where模糊查询”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PHP中怎么利用wher&#...
    99+
    2023-07-05
  • LINQ模糊查询怎么理解
    本篇内容主要讲解“LINQ模糊查询怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ模糊查询怎么理解”吧!LINQ模糊查询实现的意义:为了避免即使实现,效率也不是很高,LINQ提供了...
    99+
    2023-06-17
  • mybatis模糊查询怎么实现
    MyBatis模糊查询可以通过使用 `%` 或 `_` 来实现。`%` 表示任意多个字符(包括0个字符),`_` 表示任意一个字符。...
    99+
    2023-09-05
    mybatis
  • MYSQL中LIKE(模糊查询)
    文章目录 0 写在前面1 代码格式2 SQL数据准备3 举例3.1格式一:`[NOT] where 字段 LIKE '%' `:表示指代任意内容;3.2 格式四:[NOT] where 字段 LIKE '值1%'...
    99+
    2023-08-25
    mysql 数据库
  • mysql中模糊查询语法怎么写
    这篇文章主要介绍了mysql中模糊查询语法怎么写,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。MySQL LIKE模糊查询我们知道在 MySQL...
    99+
    2022-10-18
  • Angular中怎么自定义模糊查询
    Angular中怎么自定义模糊查询,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体代码如下:<!DOCTYPE html&g...
    99+
    2022-10-19
  • redis逐渐模糊查询怎么使用
    在Redis中进行模糊查询通常可以使用通配符来实现,常见的通配符有:- `*`:匹配任意多个字符- ``:匹配单个字符下面是使用Re...
    99+
    2023-09-05
    redis
  • Javaweb模糊查询方法怎么使用
    这篇“Javaweb模糊查询方法怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Javaweb模糊查询方法怎么使用”文...
    99+
    2023-06-26
  • mongodb模糊查询方法怎么使用
    在MongoDB中,可以使用正则表达式来进行模糊查询。有两种方式可以实现模糊查询: 使用$regex操作符:$regex操作符可以...
    99+
    2023-10-25
    mongodb
  • Fuse.js模糊查询算法怎么使用
    这篇文章主要介绍“Fuse.js模糊查询算法怎么使用”,在日常操作中,相信很多人在Fuse.js模糊查询算法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Fuse.js模糊查询算法怎么使用”的疑惑有所...
    99+
    2023-07-05
  • mysql中的模糊查询方法怎么使用
    在MySQL中,可以使用LIKE操作符进行模糊查询。1. 使用通配符%:该通配符表示任意字符的任意数量。例如,要查找以 "abc" 开头的所有记录,可以使用以下查询语句:```sqlSELECT * FROM table_nam...
    99+
    2023-08-09
    mysql
  • mysql模糊查询like怎么优化
    针对MySQL模糊查询(LIKE)的优化可以采取以下几个方法:1. 索引优化:为模糊查询的字段创建索引,可以大大提高查询性能。对于前...
    99+
    2023-10-11
    mysql
  • SQL的模糊查询怎么实现
    本篇内容介绍了“SQL的模糊查询怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言说到SQL的模糊...
    99+
    2022-10-19
  • js模糊查询算法怎么写
    这篇“js模糊查询算法怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js模糊查询算法...
    99+
    2022-10-19
  • SQL模糊查询语句怎么写
    这篇文章给大家分享的是有关SQL模糊查询语句怎么写的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQL模糊查询语句一般模糊语句语法如下:SELECT 字段&nb...
    99+
    2022-10-18
  • php 数组中模糊查询
    PHP是一种强大的编程语言,常用于web开发。在PHP中,数组是一个非常重要的数据结构,被广泛应用于各种场景中,比如数据存储、数据传输、排序、过滤等等。数组处理中,模糊查询是一个重要的需求,而本文即围绕这一需求展开讨论。一、模糊查询的定义在...
    99+
    2023-05-19
  • 模糊查询怎么使用mybatis来实现
    模糊查询怎么使用mybatis来实现?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mybatis中分页有3种方式来实现,通过sql语句(两种传参方式)来实现,通过mybat...
    99+
    2023-05-31
    mybatis 模糊查询
  • SQL模糊查询的用法
    这篇文章主要介绍“SQL模糊查询的用法”,在日常操作中,相信很多人在SQL模糊查询的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL模糊查询的用法”的疑惑有所帮助!接...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作