2016-08-02 64 views
1

我有一個與mongodb(本地驅動程序)一起工作的節點應用程序。我有一個字段「父母」的文檔,例如"parent":"root/test/dir/"。這是我如何嘗試查找「父」字段包含的所有文檔,例如「root/test」。 db.collection.find({"parent": new Regexp("root/test")})它不起作用。字符串中帶有'/'的JavaScript正則表達式

+1

你嘗試過'「root \/test」嗎? – Blobonat

回答

2

As @Blobonat指出,您可以使用反斜槓字符來替代正則表達式中以下字符的特殊含義。

new Regexp("root\/test")

的MDN是一個很好的資源:

先於一個特殊字符的反斜槓表示下一個字符不是特殊的,應該按字面解釋。

同樣,反過來也是如此。

在非特殊字符前面的反斜槓表示下一個字符是特殊的,不能從字面上理解。

你可以找到更多信息here

還有一個偉大的一套例子here from a question on SO用於與URL和正則表達式

+1

對於像'this \ that'這樣的額外有趣的字符串變成'this \\ that',因爲你必須反斜槓反斜槓,這會導致一些難以真實的正則表達式像'\\ /([^;] +); version = ' –

0

的問題是與MongoDB的司機工作。刪除功能不適合我。什麼工作是deleteMany。我的正則表達式很好,我把它放了出來,因爲上面的答案傷心,它是/\root/\test'new Regexp效果很好。

相關問題