从MongoDB中删除与“本文”匹配的条目

好的,我已经search,search,我还没有find一个方法来使这项工作。 这是我有:

我正在在node / express / socketio等聊天应用程序工作。我试图创build一个“清除”function,从指定的input删除从MongoDB的某个聊天消息。 例如:

/clear badword /clear heck /clear Barbara Streisand 

我正在努力创build一个合适的RegEx,它实际上会查找包含指定文本的条目。

这是我目前使用的:

 Chat.remove({"msg":{$regex: new RegExp('.*' + myInput, 'i')}}); 

它似乎没有find任何东西。 注意:指定的文本可以在聊天消息的任何地方,所以我需要能够说:

如果<this text>存在于密钥的任何位置,请将其删除。

我一直在查看RegEx文件几个小时,我不能使任何工作。 任何人都可以指向正确的方向吗?

你需要为你的remove调用提供一个callback,或者调用exec返回的查询对象来实际执行remove操作。

所以:

 Chat.remove({"msg":{$regex: new RegExp('.*' + myInput, 'i')}}, (err) => {...}); 

要么

 Chat.remove({"msg":{$regex: new RegExp('.*' + myInput, 'i')}}).exec(); 

关于你的正则expression式的一个注释:你不需要添加'.*'前缀。