2015-04-25 42 views
0

我有一个产品集合,其中包含一个名为“productCode”的属性。我正在尝试编写一个服务器端查询来返回基于productCode属性的产品,但我一直收到“无法读取属性'propertyCode'的未定义”错误。MongoDB查询条件无法正常工作流星/ JavaScript

这里是我的方法调用:

Meteor.call('findProduct', searchVal, function(error, a) { 
     if(error) { 
      alert(error.reason) 
     } else { 
      console.log('search success!'); 
     } 
    }); 

这是给我的错误我methods.js代码:

'findProduct': function(searchVal, a) { 
    a = Products.findOne({productCode: searchVal}); 
    return a; //return the product of interest 
} 

错误:异常在提供援引“查找产品信息”的结果: TypeError:无法读取属性'productCode'的undefined

但是,如果我在产品代码中硬编码,它的工作原理如下:

'findProduct': function(searchVal, a) { 
    a = Products.findOne({productCode: 9021073}); 
    return a; //this will return the product 
} 

在我的终端控制台,这个作品,以及:

db.products.findOne({productCode: 291105300}); 

任何想法我可能是做错了?

+0

你的意思是“不能读取属性''productCode'' of undefined”或者它真的是'propertyCode'中的错误吗? – boombox

+0

如何调用该方法?为什么传入第二个参数,如果它没有被使用?你在哪个控制台看到错误(浏览器或终端)? –

+0

@boombox我更新了我的问题,确切的错误(从浏览器控制台复制并粘贴) –

回答

0

啊 - 原因最初是一个字符串。我使用parseInt将它转换为整数,它工作!