Mongodb'$其中';使用javascript正则表达式进行查询

Mongodb'$其中';使用javascript正则表达式进行查询,mongodb,mongodb-query,Mongodb,Mongodb Query,我试图在mongodb上复制sql中的REPLACE函数 我的收藏“日志””在“文本””字段中包含此数据 [01]ABC0007[0d0a]BB BABLOXC[0d0a]067989 PLPXBNS[0d0a02]BBR OIC002 L5U0/P AMD KAP 041800 T1200AND 2+00[0d0a0b03] 我所要做的就是使用regex(javascript)删除“[…]”,并像这样使用contains('PLPXBNSBBR'),以便表达式在mongo文档中返回true

我试图在mongodb上复制sql中的REPLACE函数

我的收藏“日志””在“文本””字段中包含此数据

[01]ABC0007[0d0a]BB BABLOXC[0d0a]067989 PLPXBNS[0d0a02]BBR OIC002 L5U0/P AMD KAP 041800 T1200AND 2+00[0d0a0b03]
我所要做的就是使用regex(javascript)删除“[…]”,并像这样使用contains('PLPXBNSBBR'),以便表达式在mongo文档中返回true

下面的查询成功运行并返回匹配的行

db.log.find({“$where”:“返回此.message.replace(new RegExp('0d0a02'),''))。包含('PLPXBNS[]BBR')”)))

但是,我需要删除“[…]”并像这样匹配PLPXBNSBBR

这些是我试过但没有成功的

db.log.find({“$where”:“返回此.message.replace(新 RegExp('\[.\]','g'),'').contains('PLPXBNSBBR')“})

db.log.find({“$where”:“返回此.message.replace(新 RegExp('/[(.*?)','g'),'').contains('PLPXBNSBBR'),'')”)

db.log.find({“$where”:“返回此.message.replace(新 RegExp('/[.*/]'),'').contains('PLPXBNSBBR')“})

db.log.find({“$where”:“返回此.message.replace(新 RegExp(“[.*?]”,“”).contains('PLPXBNSBBR')”})


从前面的例子来看,如果我可以将模式作为/[[^]]+]/g传递,它应该剥离[…],但它没有这样做,也没有返回匹配的行。

好的,我能够成功地使用链接替换来获得我想要的结果