javascript - 从事件更新 react 变量

标签 javascript node.js mongodb meteor

我正在使用

Template.uploadFile.events({
  'change .set-file': function ( event, template ) {
    var file = event.currentTarget.files[0];

    [...]
  }
});

上传文件时。

我想读取文件中的每一行并将每一行作为文档插入到集合中。

问题是我想 react 性地向用户显示已创建了多少行。

首先,我需要将文件中的行数设置为变量。我必须在事件中设置变量,因为我只知道读取文件后的行数(即事件已被触发)。

我想我必须做类似的事情

Template.uploadFile.helpers( {
  numRows: function () {
    return ?;
  },
  numInsertedRows: function () {
    return ?;
  },
} );

插入的行数可能只是我的集合中的文档数;但是,我想在插入集合的同时从集合中读取内存对内存要求很高。

所以我认为最好只使用普通变量,因为所有信息都应该可用而无需询问数据库。

我有一个循环

rowsInFile.forEach( function ( row ) {
    // add 1 to number of inserted rows
} );

但是该循环也应该更改 react 变量之一。

我想我应该使用 react 变量。我对吗?这是最有效的内存方法吗?

最佳答案

你可能把事情过于复杂化了。只需 count() 集合中的文档即可:

Template.uploadFile.helpers({
  numRows: function(){
    return myCollection.find({}).count();
  }
});

假设您可以编写一个可靠地找到它们的查询,您可以对插入的数字执行相同的操作。否则,您可以在循环中增加一个 Sessionreactive 变量并返回它。

关于javascript - 从事件更新 react 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33568186/

相关文章:

javascript - 连接而不是添加的警报

javascript - 位置对象 JavaScript

node.js - 我们如何在从 UI 传递到后端服务器时隐藏身份验证凭据等信息?

javascript - 在 Node.js 中写入 CSV

mongodb - 是什么导致 mongorestore 在断言 17370 上失败?

javascript - 像图像一样缩放 div

javascript - 如何分别获取嵌套括号或方括号中的字符串

node.js - npm install 安装,但 node_modules 为空

mongodb - 在 MongoDB 中使用投影查询,PHP 语法?

node.js - 为什么我的 mongodb 字段现在为空?