mongodb如何进行不区分大小写的正则表达式搜索?

烈焰

我正在尝试从mongodb数据库中读取数据,如下所示,遇到了两个问题,有人可以提供指导吗?

  1. 遇到以下错误,该如何解决?

  2. 有没有一种方法可以通过正则表达式进行不区分大小写的搜索,"\%train\%"如下所示,不确定这种方法是否正确

from pymongo import MongoClient
import os,pymongo
dbuser = os.environ.get('muser', 'techauto1')
dbpass = os.environ.get('mpwd', 'techpass')
uri = 'mongodb://{dbuser}:{dbpass}@machine.company.com:27017/techautomation'.format(**locals())
client = MongoClient(uri)
db = client.techautomation.tech_build_audit
try:
  #db.tech_build_audit
  myCursor = db.collection.find({"chip" : "4377","branch" : "\%train\%"}).sort({"_id":-1})
  print myCursor

except pymongo.errors.AutoReconnect, e:
  print e

错误:

追溯(最近一次通话):

在第11行的文件“ parseplist.py”中

myCursor = db.collection.find({“ chip”:“ 4377”,“ branch”:“%peaceB%”})。sort({“ _ id”:-1})

文件“ /Library/Python/2.7/site-packages/pymongo/cursor.py”,第703行,排序键= helpers._index_list(key_or_list,方向)

_index_list中的文件“ /Library/Python/2.7/site-packages/pymongo/helpers.py”,第52行

引发TypeError(“如果未指定方向,

TypeError:如果未指定方向,则key_or_list必须是list的实例

更新:

由于出现错误,我无法验证正则表达式是否正常工作,如何解决该错误?

Mo Ganji

您可以将pythonsre库用于正则表达式和re.IGNORECASE第二个问题,如下所示:

import re

### rest of your code
regx = re.compile("^foo", re.IGNORECASE)
myCursor = db.collection.find({"chip" : "4377","branch" : regx}).sort({"_id":-1})
print myCursor

关于您更新的问题:

多数民众赞成在另一个问题及其sort()与pymongo一起使用,您可以在此处查看答案

简而言之,您应该这样使用.sort().sort([("_id", -1)])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Vim Ex模式正则表达式:如何进行区分大小写的单词交换

正则表达式中不区分大小写的搜索

正则表达式:不区分大小写的搜索性能,/ i与枚举

如何使正则表达式区分大小写

如何查找(离线)Perl文档-“不区分大小写”或使用正则表达式

如何在Go中执行不区分大小写的正则表达式?

如何使正则表达式不区分大小写?

如何创建不区分大小写的正则表达式?(javascript)

如何进行不区分大小写的搜索?

如何进行不区分大小写的搜索?

强制正则表达式区分大小写?

正则表达式区分大小写关闭

如何在正则表达式中将不区分大小写的搜索与区分大小写的替换结合起来?

是否可以在 python 中的捕获组级别进行不区分大小写的正则表达式匹配?

Perl重命名:不区分大小写的匹配的正则表达式

不区分大小写的正则表达式,无需重新编译?

JavaScript中不区分大小写的正则表达式

Apps脚本正则表达式-不区分大小写

Postgres和JOOQ不区分大小写的正则表达式?

是的,使用正则表达式和不区分大小写的验证

PostgreSQL查询中的正则表达式不区分大小写

Ruby中不区分大小写的正则表达式匹配

Java正则表达式不区分大小写不起作用

Pymongo不区分大小写的正则表达式查询列表

不区分大小写的正则表达式-VBA

正则表达式前瞻断言不区分大小写

猫鼬查询$ in,不区分大小写的正则表达式不起作用

Bash中不区分大小写的正则表达式

LINQ中不区分大小写的LIKE条件(带有正则表达式)