将Mongo Find()与$ in和Regex一起使用

10 python regex mongodb

我遇到了一个问题.我有一个单词数组,我使用这些单词搜索数据库,并使用匹配字段匹配任何文档:

collection.find({"word":{"$in":words}})
Run Code Online (Sandbox Code Playgroud)

以上工作非常好,但我希望能够使用正则表达式.我现在的问题是,说数组中的一个单词拼写$in而不是accus,我希望accuse查询仍然返回与单词相关的文档(记录/行)find().

我试过这个,根本不起作用,没有返回结果.

collection.find({"word":{"$in":{"$regex":words}}})
Run Code Online (Sandbox Code Playgroud)

数组中的每个元素都在accuse前面的单词中读取,例如^

我只是以错误的方式解决这个问题吗?顺便说一句,我正在将Python与MongoDB结合使用.提前致谢.

vis*_*ssi 10

对不起,迟到的回答,只是谷歌搜索你的问题.你应该使用一个正则表达式,而不是它们的数组,如:

'^[work|accus*|planet]'
Run Code Online (Sandbox Code Playgroud)

  • 方括号不应该是圆括号,因为方括号匹配单个字符吗? (2认同)