首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑Mongodb数组值以只包含字母字符

编辑Mongodb数组值以只包含字母字符
EN

Stack Overflow用户
提问于 2017-05-02 14:23:29
回答 1查看 397关注 0票数 1

在从csv文件导入数据之后,我正在尝试编辑mongodb集合中的数据。我的一个字段包含字母字符和数字字符的混合,我希望编辑它,使它只包含字母字符,以使查询更容易。

所以我想改变这个:

代码语言:javascript
复制
"categories" : [
    "9100005:1:factual",
    "9200041:2:arts_culture_and_the_media",
    "9200055:2:history"
]

这方面:

代码语言:javascript
复制
"categories" : [
    "factual",
    "arts culture and the media",
    "history"
]

我知道使用$regex可以查询某些类别,所以使用:

代码语言:javascript
复制
db.bbc.find( { categories: {$regex: /factual/  }} )

我获得了所有以“事实”作为类别的记录,但我不确定如何使用$regex查询多个类别,我只是觉得完全避免使用正则表达式会更容易。有人知道我要跑哪条命令才能做到这一点吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-02 14:45:36

尝尝这个

代码语言:javascript
复制
 db.test1.find().snapshot().forEach(function (el) {
        for(a in el.Category){
            print(el.Category[a].replace(/[^A-Za-z]/g, ""));
            el.Category[a]=el.Category[a].replace(/[^A-Za-z]/g, "");
        }
       db.test1.save(el); 
});

编辑:为了保存空间,只需在regex中添加空间。

你可以用这行

代码语言:javascript
复制
el.Category[a].replace(/[^A-Za-z]*$/g, "");

处理下划线

代码语言:javascript
复制
el.Category[a].replace(/[^A-Za-z_]*$/g, "");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43740335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档