当然,正则表达式仅适用于字符串。但是,您仍然可以这样做,尽管这样做效率非常低:
Contract.find( { "$where": "function() { return this.number.toString().match(/555/) != null; }" }).function(err,contracts) { // do something with results});
MongoDB$where
查询运算符允许在服务器上针对集合中的每个文档或其他查询条件遗留的文档评估Javascript条件。
基本上,该评估将字段值转换为a
String,然后对其进行正则表达式 *** 作。
否则,您将更改内容或为字符串表示形式添加另一个字段。但是,除非您
^从字符串的开头使用锚,否则即使
$regex对实际的字符串字段进行 *** 作也比使用所示的Javascript评估更有效。
PS确保您的服务器允许Javascript评估。有些人选择关闭此功能。但默认情况下应启用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)