javascript - 使用 MongoDB 在 $where 中传递参数

标签 javascript node.js mongodb express where-clause

我的脚本有一点问题。我无法在“$where”的函数中传递参数(示例中为 MYPARAMETER)。

你有什么想法可以帮助我吗?谢谢。

var MYPARAMETER = "dqsd qsdqs &é&é";

MyCol.findOne({

    $where: function(MYPARAMETER) 
    { 
        var tab1="ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ!#$€%&'`(),;:/@.*[]\|";
        var tab2=   "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn                      ";
        rep2=tab1.split('');
        rep=tab2.split('');
        parray=new Array();
        var i=-1;
        while(rep2[++i])
        {
            parray[rep2[i]]=rep[i]
        }
        var chaine = this.name.replace(/\s{1,}/g,"-");
        chaine = chaine.replace(/./g, function($0){return (parray[$0])?parray[$0]:$0 });
        chaine = chaine.replace(/\s/g,"");


        return (chaine == MYPARAMETER);
    }
}, 

最佳答案

$where 在服务器上执行,因此无法访问在另一台服务器上本地声明的变量。 JavaScript 应该用作 last resort generally in MongoDB ,这似乎是相反的,并且执行了大量非常耗时的工作。

您需要将函数构建为字符串并直接包含该值。

关于javascript - 使用 MongoDB 在 $where 中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19712971/

相关文章:

javascript - dhtmlxGantt - 移动任务时滚动不起作用

javascript - "Invalid regular expression: unterminated group"尝试设置 restify 静态路由时

javascript - nodejs Handlebars 错误 TypeError : this. set is not a function

javascript - 如何从路径(键数组)创建嵌套对象结构?

javascript - Highcharts 中一张图表上的多个时间线

mongodb - 正确的语法来执行 mongoDb docker 实例的 mongodump?

c# - 无法为对象设置自定义鉴别器约定

mongodb - 如何在 Meteor 中读取依赖于另一个集合的集合

javascript - 如何使用变量在 javascript 中呈现 unicode?

node.js - Docker 构建显示无效的容器端口