python mongodb 查询忽略大小写

这篇具有很好参考价值的文章主要介绍了python mongodb 查询忽略大小写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import pymongo
import random
import string
from pymongo.collation import Collation
random.seed(10)
letters = string.ascii_lowercase
upper = string.ascii_uppercase


class MongoDBServer():
    def __init__(self,database,collation) -> None:
        self.client = pymongo.MongoClient('mongodb://ellis:ellischen@192.168.214.133:32000/')
        self.database = self.client[database]
        

        if collation not in self.database.list_collection_names():
            self.database.create_collection(collation,
                                    collation=Collation(locale='en'))
        
        
        self.colleceion = self.database[collation]
        
    def insert_many(self,documents):
        self.colleceion.insert_many(documents)


server = MongoDBServer('test','collation')

documents= []

for i in range(10):
    rand_letters = random.choices(letters,k=2)
    upper_letters = random.choices(upper,k=2)
    value = {"name":''.join(rand_letters)+''.join(upper_letters),"age":100}
    documents.append(value)



server.insert_many(documents)

print(server.client['test']['collation'].find({"name":"ADYH"}).collation({ "locale": "en", "strength": 1 }).explain()['executionStats'])

最主要的要先创建collection并指定collation,查询时候也带上这个参数
关于这个参数的解释
https://pymongo.readthedocs.io/en/stable/examples/collations.html文章来源地址https://www.toymoban.com/news/detail-589524.html

到了这里,关于python mongodb 查询忽略大小写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker安装Mysql8.0,并配置忽略大小写

    -e MYSQL_ROOT_PASSWORD :设置mysql密码 -v /home/mysql/:/var/lib/mysql:挂载磁盘实现数据持久化 –lower_case_table_names=1 :忽略大小写,docker mysql默认区分大小写的,只能在初始化时配置,不然会报 注:参数顺序一定要对,–lower_case_table_names=1要加在镜像名后面,镜像名前面是参数,后面是mys

    2024年02月11日
    浏览(46)
  • mysql(八)docker版Mysql8.x设置大小写忽略

    Mysql 5.7设置大小写忽略可以登录到Docker内部,修改/etc/my.cnf添加lower_case_table_names=1,并重启docker使之忽略大小写。但MySQL8.0后不允许这样,官方文档记录: lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is pr

    2024年01月19日
    浏览(56)
  • Centos7 安装并配置MySQL 8.0.x 忽略表名大小写

    1. 卸载MySQL 2. 重新安装mysql 3. 修改 mysql 密码 4. 允许 root 远程访问 附录:my.cnf

    2024年02月12日
    浏览(40)
  • hive查询区分大小写

    在Hive中,默认情况下,字段名是不区分大小写的,这意味着在查询中使用大写或小写字母来引用字段名称都是可以的。其实mysql也是一样的,大部分都不会区分大小写。 但是在部分业务场景时需要对这类数据进行处理,有这么几个方法可以尝试尝试。 启用此模式后,Hive将严

    2024年02月13日
    浏览(58)
  • elasticsearch wildcard查询取消大小写

    https://stackoverflow.com/questions/51107349/elasticsearch-wildcard-case-sensitive 添加case_insensitive 参数即可

    2024年02月12日
    浏览(52)
  • 【工具】IDEA开发常用配置-编码设置、自动导包、类注释、方法注释、提示自动忽略大小写、自动换行、SQL格式、格式配置等

    1.1 编码设置 New Projects Settings- Settings for New Projects...-Editor-File Encodings 设置本项目和全局项目编码为 UTF-8 ;配置文件 properties 也需要设置为 UTF-8 ,需勾选 Transparent native-to-ascii conversion ,勾选之后配置文件中文能正常识别。 1.2 自动导包设置 New Projects Settings- Settings for New Proj

    2024年02月04日
    浏览(65)
  • es-已有mapping,实现查询不区分大小写

    一、写在前面 es查询默认区分大小写 二、实现原理 normalizer 是  keyword 的一个属性 参考 听说你还没掌握 ElasticSearch Normalizer 的使用方法?_yinni11的博客-CSDN博客 二、实现区分大小写的三种方案  方案一:直接创建对应的mapping 适用于还没有创建mapping的场景  方案二:新建map

    2024年01月19日
    浏览(55)
  • Python 大小写转换

    1.lower() 将字符串中的大写字母转换成小写字母 语法:str.lower() 2.upper() 将字符串的小写字母转换为大写字母 语法:str.upper() 3.capitalize() 将字符串的第一个字母变成大写,其余字母变为小写。 语法:str.capitalize()   4.title() 返回一个满足标题格式的字符串,即所有英文单词首字

    2024年02月13日
    浏览(77)
  • 记录CentOS7 Linux下安装MySQL8_适合正式环境_干货满满(超详细,默认开启了开机自启动,设置表名忽略大小写,提供详细配置,创建非root专属远程连接用户)

    安装前先清理mariadb和mysql相关文件:    通过命令: rpm -qa|grep mariadb 查询是否安装了mariadb    卸载: rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64(复制上面命令查到的完整名称)    通过命令: find / -name mysql 查询跟mysql相关的文件     删除文件命令:    rm -rf /etc/selinux/targeted/act

    2024年02月04日
    浏览(49)
  • 使用python判断字母大小写的几种方法

    使用Python中的内置函数 isupper() 和 islower() 来判断一个字母是否为大写或小写字母。 用户输入一个字母,程序使用isupper()和islower()函数判断字母是否为大写或小写,并输出相应的信息。如果用户输入了除字母以外的字符,程序会输出一个错误信息。 使用ASCII码值来判断字母大

    2024年02月04日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包