草庐IT

REGEX_EXTRACT

全部标签

regex - MongoDB/PyMongo : how to 'escape' parameters in regex search?

我正在使用pymongo并希望搜索以特定字符序列开头的项目。我可能会这样实现:items=collection.find({'key':'/^text/'})这应该可以,但是如果text是一个变量呢?我可以这样做:items=collection.find({'key':'/^'+variable+'/'})但是现在如果variable中的文本包含任何具有特殊正则表达式含义的字符(例如$),则查询不再按预期运行。有没有办法进行某种参数绑定(bind)?我必须自己清理variable吗?这甚至可靠吗?谢谢! 最佳答案 您必须以编程方式

MongoDB 外壳 : how to search for collections which match a name or regex

当我使用显示集合时,它会返回一个很长的所有集合的列表,我如何编写查询来返回与模式匹配的集合。我希望得到类似db.collections({name:/pattern/})但找不到 最佳答案 您可以使用db.getCollectionNames()与Array.filter():db.getCollectionNames().filter(function(collection){return/pattern/.test(collection)}) 关于MongoDB外壳:howtosea

regex - 使用正则表达式和排序的 Mongodb 简单前缀查询很慢

我被这个简单的前缀查询困住了。虽然Mongodocs声明您可以通过使用前缀正则表达式格式(/^a/)获得相当不错的性能,当我尝试对结果进行排序时查询非常慢:940毫秒db.posts.find({hashtags:/^noticias/}).limit(15).sort({rank:-1}).hint('hashtags_1_rank_-1').explain(){"cursor":"BtreeCursorhashtags_1_rank_-1multi","isMultiKey":true,"n":15,"nscannedObjects":142691,"nscanned":14269

regex - MongoDB正则表达式匹配问题

这是我的MongoDBshellsession;>db.foo.save({path:'a:b'})WriteResult({"nInserted":1})>db.foo.findOne(){"_id":ObjectId("58fedc47622e89329d123ee8"),"path":"a:b"}>db.foo.save({path:'a:b:c'})WriteResult({"nInserted":1})>db.foo.find({path:/a:[^:]+/}){"_id":ObjectId("58fedc47622e89329d123ee8"),"path":"a:b"}{

javascript - 在 Node js 中使用 $regex mongodb 查询不起作用

从Nodejs,我尝试根据不区分大小写的关键字检索文档。当我直接从mongodb控制台尝试时,我可以看到结果。db.users.findOne({"displayName":{$regex:/.*abc./,$options:"i"}})但是当我在Nodejs中尝试相同的操作时,我得到的是空结果。varselector={"displayName":{$regex:"/.*abc./",$options:"i"}}这是因为正则表达式不在javascript中。谁能帮我解决这个问题。 最佳答案 $regexvalue需要是要匹配的字符

node.js - 如何在 $match 内的 mongodb 聚合查询中使用 $regex

我正在尝试使用$regex在$match内,它不返回匹配的文档。db.collection('MyCollection',function(err,collection){collection.aggregate([{$match:{'Code':'Value_01','Field2':{$regex:'/Value_2/g'}}},{$project:{_id:1,CodeNumber:'$Code',FieldName2:'$Field2'}}],function(err,Result_doc){console.log(Result_doc);}});谁能告诉我哪里出错或正确的语法

regex - Mongodb将重音字符匹配为基础字符

在MongoDB"db.foo.find()"语法中,我如何告诉它匹配所有字母及其重音版本?例如,如果我的数据库中有一个姓名列表:若昂弗朗索瓦耶稣如何允许搜索字符串“Joao”、“Francois”或“Jesus”以匹配给定名称?我希望我不必每次都进行这样的搜索:db.names.find({name:/Fr[aã...][nñ][cç][所有重音o字符][所有重音i字符]s/}) 最佳答案 从Mongo3.2开始,您可以使用$text并将$diacriticSensitive设置为false:{$text:{$search:,$l

regex - Mongo 正则表达式搜索的索引范围

我正在使用MongoDB,并且我有一组具有以下结构的文档:{fName:"Foo",lName:"Barius",email:"fbarius@example.com",search:"foobarius"}我正在构建一个函数,它将在search字段上执行正则表达式搜索。为了优化性能,我在搜索字段中索引了这个集合。然而,事情还是有点慢。所以我在一个示例查询上运行了explain():db.Collection.find({search:/bar/}).explain();查看获胜计划,我看到使用了以下索引边界:"search":["[\"\",{})","[/.*bar.*/,/.*b

regex - 使用 MongoDB 搜索实现自动完成功能

我有一个MongoDB形式的文档集合{"id":42,"title":"candycan","description":"canadacandycanteen","brand":"cannistercandid","manufacturer":"candlecanvas"}我需要通过在除id之外的字段中匹配来实现基于输入搜索词的自动完成功能。例如,如果输入词是can,那么我应该将文档中所有匹配的words返回为{hints:["candy","can","canada","canteen",...]我看了thisquestion但这没有帮助。我还尝试搜索如何在多个字段中进行regex搜

regex - 整数值的 MongoDB 正则表达式搜索

我想在MongoDB中正则表达式搜索一个整数值。这可能吗?我正在构建一个CRUD类型接口(interface),该接口(interface)允许*在各个字段中使用通配符。我正在尝试为一些整数字段保持UI一致。考虑:>db.seDemo.insert({"example":1234});>db.seDemo.find({"example":1234});{"_id":ObjectId("4bfc2bfea2004adae015220a"),"example":1234}>db.seDemo.find({"example":/^123.*/});>如您所见,我插入了一个对象,并且能够通过值