基于正则表达式排除 Mongo 字段

Posted

技术标签:

【中文标题】基于正则表达式排除 Mongo 字段【英文标题】:Exclude Mongo fields based on regex 【发布时间】:2018-02-28 17:30:02 【问题描述】:

我的收藏有 1000 个字段,我想排除与某个正则表达式匹配的字段。数百个字段的格式为:'labelXXXX',其中 XXXX 是 4 个整数。这可能吗?

(即如何从集合中排除与我的查询中的“labelXXXX”匹配的字段?)

【问题讨论】:

是否要删除所有包含labelXXXX的值 是的,删除所有字段及其值。 【参考方案1】:

我通过在 mongodb 中使用 $not 解决了这个问题

    
    "_id" : "1",
    "name" : "label123"


/* 2 */

    "_id" : "2",
    "name" : "sample"



db.getCollection('things').find(name:$not:/^label/)

输出: “_id”:“2”, “名称”:“样本”

【讨论】:

以上是关于基于正则表达式排除 Mongo 字段的主要内容,如果未能解决你的问题,请参考以下文章

Mongo正则表达式为“不匹配”或反向

ActionScript 3 中的正则表达式:如何排除复杂前缀?

通过 Oracle 的 REGEXP_SUBSTR 排除正则表达式中的一系列字符

mongo 正则表达式查询是不是有字符限制,如果正则表达式搜索字符串超过该限制,则会引发错误

将排除捕获组的正则表达式

正则表达式排除特定字符串