[英]How can I use MySQL and MongoDB in the same REST API?
我需要同时创建一个 REST API 使用 MySQL 数据库和一个 Z206E3718AF092FD1D12F80ACZ7 数据库。 我一直在寻找一段时间,但我找不到有关如何做到这一点的指南。 我需要在这个星期一准备好 REST API。 如果有人有一个可以帮助我很多的指南的链接。
我只使用 mysql 和 Sequelize,我的文件是这样的。
├───bin
├───config
│ └───config.json
├───models
├───node_modules
├───public
├───routes
├───app.js
├───package-lock.json
└───package.json
config.json:
{
"development": {
"username": "root",
"password": "",
"database": "name-of-database",
"host": "127.0.0.1",
"dialect": "mysql"
},
"test": {
"username": "root",
"password": null,
"database": "database_test",
"host": "127.0.0.1",
"dialect": "mysql"
},
"production": {
"username": "root",
"password": null,
"database": "database_production",
"host": "127.0.0.1",
"dialect": "mysql"
}
}
应用程序.js:
var express = require("express");
var path = require("path");
var cookieParser = require("cookie-parser");
var logger = require("morgan");
var cors = require("cors");
var indexRouter = require("./routes/index");
var productsRouter = require("./routes/product");
var productCategoriesRouter = require("./routes/product_category");
var usersRouter = require("./routes/user");
var authRouter = require("./routes/auth");
var app = express();
app.use(cors());
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "public")));
app.use("/api", indexRouter);
app.use("/api/product", productsRouter);
app.use("/api/product_category", productCategoriesRouter);
app.use("/api/user", usersRouter);
app.use("/api/auth", authRouter);
module.exports = app;
我不太了解您的问题,但是您可以在项目中拥有任意数量的数据源,您必须将数据源理解为可以存储和检索信息的地方,它可以是文件,memory,mySQL或 mongoDB。 在架构和结构方面,当您可以保存任何数据源时,您可以拥有一个文件夹db :
├───bin
├───config
│ └───config.json
├───db
│ │───datasource1
│ │ └───models
│ │ └───db1.js
│ └───datasource2
│ └───models
│ └───db2.js
│
│
├───node_modules
├───public
├───routes
├───app.js
├───package-lock.json
└───package.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.