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