[英]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.