变量为mongodb查询

时间:2014-03-10 14:43:58

标签: javascript mongodb

好吧,这让我发疯了......

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(金额)都是2,因此变量传递

...对不起可能是显而易见的范围或某事......在这个相对较新的

2 个答案:

答案 0 :(得分:1)

我想到的唯一可能是数量不同的类型。试试这个:

function(amount){

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

}

答案 1 :(得分:0)

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
    }
  });

}

要调用此函数,例如:query_am(2)或query_am(6)。不要做query_am('6')