【发布时间】:2014-11-02 13:36:53
【问题描述】:
我想根据我构建的正则表达式对文档进行查询 MongoDB。例如 我构建了一个简单的正则表达式,如下所示,它是 Nodejs 中随机字母和随机数的组合
var randnum = Math.floor((Math.random() * 10) + 1);
var alpha = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','X','Y','Z'];
var randletter = alpha[Math.floor(Math.random() * alpha.length)];
var val = randletter + randnum + '.*;
我已经为正则表达式变量尝试了各种组合,例如
var stream = collection.find({"FirstName": /val/).stream();
&&
var stream = collection.find({"FirstName": /$val/).stream();
&&
var stream = collection.find({"FirstName": {$in : [{$regex:val}]}}).stream()
&&
var stream = collection.find({"FirstName": {$in : [{$regex:$val}]}}).stream()
似乎没有任何效果。但是,当我编写实际的正则表达式时,我会得到例如的记录
var stream = collection.find({"FirstName": /J.*/).stream();
任何帮助将不胜感激。
谢谢 象头神
【问题讨论】:
-
向导,谢谢。但是,这似乎不起作用.var stream = collection.find({"FirstName": {$regex:val}}).stream(); stream.on("数据", function(item) results.push(item);
-
出现任何错误,或者只是没有得到预期的结果?存储在数据库中的文档示例可能会有所帮助。