将变量传递给流星应用中的mongodb查询

用户名

因此,我正在尝试使用一个简单的流星应用程序来搜索数据库。我只有一个输入框,可以从其中输入以下代码进行搜索查询:

Template.search.events = {
'keydown input#search' : function (event) {
    if (event.which == 13) {
        var item = document.getElementById('search');
        Template.results.results(item.value)    
        //console.log(item);    
        item.value = '';
    }
}
}

我将搜索查询传递给另一个函数,该函数应该查询mongodb并将结果打印在模板中:

Template.results.results = function (item) {
return Products.find({sku: item});
}

但是,它永远找不到商品!如果我在Chrome的控制台中运行相同的查询,则该查询有效。如果我将代码中的{sku:item}替换为(例如){sku:“ A2277”}(在我的数据库中),那么它将起作用!如果我在Template.results.results函数内部创建一个新变量,例如var item =“ A2277”,它也可以工作。这里发生了什么?!

戴维·韦尔顿

模板助手被设计为由您的模板而不是由事件处理程序直接调用。您的代码仅要求查询发生并返回值,但它与模板没有任何关系。相反,您应该使用如下会话变量:

Template.results.results = function() {
  return Products.find({sku: Session.get('itemSku')});
};

然后,在事件处理程序中,您可以执行以下操作:

Template.search.events({
  'keydown input#search': function(event) {
    if (event.which === 13) {
      var $item = $('#search');
      Session.set('itemSku', $item.val());
      $item.val('');
    }
  }
});

注意,我在这里使用jQuery来设置/获取项目值。无论如何,那应该设置会话变量并以反应方式重绘结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在流星应用中将变量传递给mongodb查询

来自分类Dev

流星将附加变量传递给模板

来自分类Dev

将变量传递给流星助手

来自分类Dev

将查询结果传递给 SSIS 中的变量

来自分类Dev

将变量传递给GoLang查询

来自分类Dev

如何将参数传递给流星中的模板事件?

来自分类Dev

将参数传递给流星反应表中的集合

来自分类Dev

将变量传递给JavaScript中的函数

来自分类Dev

将变量传递给Evaluate()中的函数

来自分类Dev

将变量传递给jQuery中的属性

来自分类Dev

将变量传递给R中的函数

来自分类Dev

将变量传递给ON方法(在jquery中)

来自分类Dev

将变量传递给余烬中的模态

来自分类Dev

将变量传递给JavaScript中的函数

来自分类Dev

是否可以将PHP查询变量传递给JS而不在View Source中显示它?

来自分类Dev

如何传递在MongoDB查询中串联的变量?

来自分类Dev

将变量名传递给闪亮的应用程序中的模型

来自分类Dev

如何将变量传递给UPDATE MySQL查询

来自分类Dev

将VBA变量传递给访问查询条件

来自分类Dev

hashi_vault将变量/参数传递给查找查询

来自分类Dev

我如何使用Bash将变量传递给SoQL查询

来自分类Dev

将变量传递给 apollo 查询时出错

来自分类Dev

将列名作为变量传递给 ActiveRecord 查询

来自分类Dev

JS-将字符串传递给MongoDB查询

来自分类Dev

将环境变量传递给Angular2应用?

来自分类Dev

通过URL将变量传递给Flask应用

来自分类Dev

如何将变量传递给mongodb回调?

来自分类Dev

传递变量以从 mongodb 流星提取数据

来自分类Dev

将查询传递给Informatica