Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 节点:是否保留对导入数组的更改?_Arrays_Node.js_Express - Fatal编程技术网

Arrays 节点:是否保留对导入数组的更改?

Arrays 节点:是否保留对导入数组的更改?,arrays,node.js,express,Arrays,Node.js,Express,在data.js中,我有一个大对象数组和两个函数: var arr = [ {prop1: value, prop2: value},...] function push (value) { arr.push(value); } function pop () { arr.pop() } module.exports.data = arr; module.exports.push = push; module.exports.pop = pop; 要在我的app.js中加

在data.js中,我有一个大对象数组和两个函数:

var arr = [ {prop1: value, prop2: value},...]

function push (value) {
    arr.push(value);
}

function pop () {
    arr.pop()
}

module.exports.data = arr;
module.exports.push = push;
module.exports.pop = pop;
要在我的app.js中加载数组和函数并测试它们,我使用:

var mod = require('./data');

console.log(mod.arr.length); // outputs length prior to modification
arr.push(1);                  
console.log(mod.arr.length); // outputs length + 1

在服务器运行时这一切都很好,但是更改永远不会持久化到data.js数组。我是否必须读/写文件,或者是否有一种简单的方法可以修改导入的数组并保存更改?

有几种常用的方法来保存数据:

1) 使用文件

2) 使用redis


3) 使用数据库(Mongodb或其他)

我更喜欢在js文件中使用简单的js数组。我一直使用fs.methods作为解决方法,但它们使用纯文本字符串,而不是js数组。难道没有更简单的方法吗?请看其他主题,这样我将不得不使用fs模块以纯文本形式编写:)