在mongoDB中查找和删除带有特殊字符的字段?

时间:2015-01-15 09:30:39

标签: regex special-characters mongodb-query

我错误地将正则表达式模式存储为MongoDB中的字段名称。现在我想删除它们。根据关于mongoDB.org的this问题讨论,应该可以有任何字符,但是"。"并且该字段不得以" $"。

开头

然而,当我尝试使用" \"找到包含正则表达式的字段时我可以找到它(通过使用额外的反斜杠来在字符串中转义它)。

> db.test.find({"(slot(maskin\\w+?|machine\\w+?))":{$exists:true}}).count()
> 10975

但我无法使用" $ unset"

删除它
> db.texts.update({"(slot(maskin\\w+?|machine\\w+?))":{$exists:true}},{$unset:{"(slot(maskin\\w+?|machine\\w+?))":""}})
> WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

以下是试用版的示例文档:

doc = {"(slot(maskin\w+?|machine\w+?))":1, "text": "bla vla yle rodman slotmachine."}

0 个答案:

没有答案