Javascript 将mongoDB添加到使用postgreSQL的web应用程序
我有一个简单的web应用程序,带有nodeJS后端和postgreSQL数据库。 我需要添加一个mongoDB数据库,它还将应用程序的状态保存为备份 是否可以在不改变应用程序结构的情况下以简单的方式添加它? 我的代码: postgres.js文件:Javascript 将mongoDB添加到使用postgreSQL的web应用程序,javascript,node.js,mongodb,postgresql,backend,Javascript,Node.js,Mongodb,Postgresql,Backend,我有一个简单的web应用程序,带有nodeJS后端和postgreSQL数据库。 我需要添加一个mongoDB数据库,它还将应用程序的状态保存为备份 是否可以在不改变应用程序结构的情况下以简单的方式添加它? 我的代码: postgres.js文件: const Pool = require('pg').Pool const pool = new Pool({ user: 'postgres', host: 'localhost' database: 'tasks', pass
const Pool = require('pg').Pool
const pool = new Pool({
user: 'postgres',
host: 'localhost'
database: 'tasks',
password: 'password',
port: 5432,
});
const getTasks = (request, response) => {
// get tasks query
};
const getTaskById = (request, response) => {
// get task by id query
};
const createTask = (request, response) => {
// create task query
};
const updateTask = (request, response) => {
// update task query
};
const deleteTask = (request, response) => {
// delete task query
}
module.exports = {
getTasks,
getTaskById,
createTask,
updateTask,
deleteTask
};
index.js文件:
const express = require('express')
const bodyParser = require('body-parser')
var cors = require('cors')
const app = express()
const port = 8080
const db = require('./db/postgres')
app.use(cors());
app.use(bodyParser.json());
app.use(
bodyParser.urlencoded({
extended: true,
})
);
app.get('/', (request, response) => {
response.json({ info: 'Node.js, Express, and Postgres API' })
});
app.get('/tasks', db.getTasks);
app.get('/tasks/:id', db.getTaskById);
app.post('/tasks', db.createTask);
app.put('/tasks/:id', db.updateTask);
app.delete('/tasks/:id', db.deleteTask);
app.listen(port, () => {
console.log(`App running on port ${port}.`)
});
谢谢 应用程序的状态有多复杂,您打算如何保持更新?也许使用MongoDB作为状态快照的存储过于复杂了。在Redis中存储JSON可能是一种更简单的方法
您可能还应该问问自己,如果您已经拥有postgres数据库,为什么需要保存应用程序的状态。您的后端会产生什么状态来辅助postgres中的数据?这是一个非常简单的应用程序,可以为用户保存新任务和已完成任务。使用Mongo数据库是项目的一项要求,因此我必须添加它,并且我正在寻找最简单的方法:)将“一个非常简单的应用程序”的应用程序状态添加到MongoDB似乎是一种使事情过于复杂的可靠方法!但那就不是你的事了。我也不明白为什么postgres不存储任务完成与否的数据。如果你已经有了postgres,为什么还要使用MongoDB?我无法理解,但正如我所说的,这是我正在从事的项目的一项要求:“服务器将是一个基于REST API的服务器,它将在PostgreSQL和MongoDB上保存应用程序的状态(作为备份)”。所以我只是想找到一种方法让它发挥作用。在MongoDB数据库中备份postgres完全没有意义。如果我知道你在哪里,我会怀疑这一点。对于如何高效备份postgres数据库,有很多优秀的工具,其中没有一个涉及MongoDB。