Javascript 变量导入mongodb查询

Javascript 变量导入mongodb查询,javascript,mongodb,Javascript,Mongodb,好吧,这让我发疯了 function(amount){ matchingOrder = Order.findOne({ Price: { $lte: amount } }, { sort: { Price: 1, Order_ID: 1 } }); } -----不起作用 这项工作: function(){ amount = 2 match

好吧,这让我发疯了

function(amount){

matchingOrder = Order.findOne({
        Price: {
          $lte: amount
        }
      }, {
        sort: {
          Price: 1,
          Order_ID: 1
        }
      });

}
-----不起作用

这项工作:

function(){

amount = 2

matchingOrder = Order.findOne({
        Price: {
          $lte: amount
        }
      }, {
        sort: {
          Price: 1,
          Order_ID: 1
        }
      });

}
在这两种情况下,console.log(amount)都是2,所以传递变量


…对不起,可能是明显的范围或什么的..我在这方面相对较新

我唯一想到的可能是数量的不同类型。请尝试以下方法:

function(amount){

matchingOrder = Order.findOne({
        Price: {
          $lte: parseInt(amount)
        }
      }, {
        sort: {
          Price: 1,
          Order_ID: 1
        }
      });

}
}


调用此函数,例如:query_am(2)或query_am(6)。不执行查询\u am('6')

定义“不工作”?您如何称呼它?它是一个anon函数,所以在如何分配它的参数时可能有问题?可能是分号插入的奇怪情况?尝试在amount=2后插入分号,以确保……如果变量未在其他地方使用var定义,请在使用var时使用var。要检查number是否确实是一个数字,请查看以下惊人的答案:最好在开始时检查类型,因为如果parseInt返回NaN并执行查询,你把数据库的时间浪费在无用的查询上。
function query_am(input){

 var amount = input; //pay attention, as pre-condition your input must be a number.

 matchingOrder = Order.findOne({
    Price: {
      $lte: amount
    }
  }, {
    sort: {
      Price: 1,
      Order_ID: 1
    }
  });