Javascript 在数组中存储JSON POST数据(NodeJS)

Javascript 在数组中存储JSON POST数据(NodeJS),javascript,arrays,json,node.js,Javascript,Arrays,Json,Node.js,我希望能够将用户生成的JSON对象发布到NodeJS服务器,并将它们存储在一个数组中,以便刷新页面不会影响数据。然后我希望能够将信息读回一个表中,以便它不断地反映数组的内容 这在NodeJS中可能吗?如果是这样的话,有人能给我一个指向正确方向的指针吗?我能够传递JSON对象(作为req.body),但我不知道从这里可以走到哪里 谢谢 正如Sri所建议的,您应该将数据数组最终存储到数据库中。 使用Redis、Mongo、MySQL。。。它完全取决于您的数据形状和使用它的方式 如果您只需要存储一个临

我希望能够将用户生成的JSON对象发布到NodeJS服务器,并将它们存储在一个数组中,以便刷新页面不会影响数据。然后我希望能够将信息读回一个表中,以便它不断地反映数组的内容

这在NodeJS中可能吗?如果是这样的话,有人能给我一个指向正确方向的指针吗?我能够传递JSON对象(作为req.body),但我不知道从这里可以走到哪里


谢谢

正如Sri所建议的,您应该将数据数组最终存储到数据库中。 使用Redis、Mongo、MySQL。。。它完全取决于您的数据形状和使用它的方式

如果您只需要存储一个临时数组(临时,我的意思是“只要浏览会话”或“只要服务器启动”),您就可以将数据存储在内存中

例如,使用ExpressJs:

var express=require('express');
//内存存储
var数据=[];
var app=express()
.use(express.bodyParser())
.use(express.cookieParser())
.use(express.cookieSession({secret:'sample'}))
.post('/data',函数(req,res){
//不需要会话,只需记忆?使用这行
//数据推送(请求主体);
//如果需要,创建会话并存储数据
if(!req.session.data){
req.session.data=[];
}
请求会话数据推送(请求正文);
res.send(204);
})
.get('/data',函数(req,res){
res.setHeader('Content-Type','application/json');
//存储在会话中?
res.send(req.session.data | |[]);
//存储在内存中?
//res.send(数据);
})
.听(80);
----编辑---

要添加新数据并在单个请求中返回,只需在POST响应中发送数组:

.post('/data',函数(req,res){
//存储在内存中
数据推送(请求主体);
//以json格式将其发送回并更新
res.setHeader('Content-Type','application/json');
res.send(数据);
})

这里有一个假设:您应该使用ajax调用调用您的帖子,而不是常规的HTML表单。请参阅doc以获取解析的服务器结果。

如果需要持久数据存储,则需要将“JSON对象”存储到数据库中。我对DB引擎的建议是MongoDB。我以前在NodeJS中使用过它。是的,类似的东西是可能的。有很多不同的方法可以做到这一点,所以我建议尝试一些,并完善你的问题。一种方法是将其存储在会话中(例如,使用[express]中内置的会话)(使用)然后存储该会话。然后,您可以使用redis或mongo在服务器重新启动时存储和持久化这些会话。谢谢!这或多或少就是我从存储角度寻找的——内存应该可以很好地完成。但是,我仍然不清楚如何将数据从服务器端数组读回JavaScript页面。理想情况下,只需单击客户端上的一个按钮,就可以将数据发布到阵列中,并将整个阵列读回到一个表中(有效地更新)。有什么想法吗?如果它符合您的需要,您介意结束您的问题吗?谢谢。