javascript - 创建 Mongoose 数据库时遇到问题
问题描述
这里我在创建数据库时遇到了一些问题。我在控制台中连接了消息 mongo,但是即使我已经创建了集合/模型,我的数据库也没有创建这里是我的代码
环境文件
ATLAS_URI=mongodb://127.0.0.1:27017/ecommerce
Main.js 文件
const express = require("express");
const cors = require("cors");
require("dotenv").config();
const mongoose = require('mongoose');
const routes = require("./Routes/routes")
const app = express();
const port = 5000 || process.env.port
// Controllers
const categoryController = require("./Controllers/category")
const feedbackController = require("./Controllers/feedback")
const productController = require("./Controllers/product")
const productRecieptController = require("./Controllers/productReciept")
const productReturnController = require("./Controllers/productReturn")
const userController = require("./Controllers/user")
const uri = process.env.ATLAS_URI
mongoose.connect(uri,{useNewUrlParser:true,useCreateIndex:true,useUnifiedTopology: true})
const connection = mongoose.connection;
connection.once("open",()=>{
console.log('Database Server Connected');
})
app.use(cors());
app.use(express.json());
app.use("/categories",categoryController);
app.use("/feedbacks",feedbackController);
app.use("/products",productController);
app.use("/reciepts",productRecieptController);
app.use("/returns",productReturnController);
app.use("/users",userController);
app.listen(port,()=>{
console.log('App is running on Port 5000');
})
产品型号
const mongoose = require('mongoose');
const Category = require("./category")
const Schema = mongoose.Schema;
const productSchema = new Schema({
name:{type:String,required:true},
totalQuantity:{type:Number,required:true},
EcommerceQuantity:{type:Number,required:true},
Category:{type:mongoose.Schema.Types.ObjectId, ref: 'Category',required:true},
defaultPrice:{type:Number,required:true},
discountPrice:{type:Number,required:true},
Image:{type:String},
Description:{type:String},
Feedback:{type:Array},
Availability:{type:Boolean},
})
const Product = mongoose.model("Product",productSchema)
module.exports = Product
产品控制器
const router = require("express").Router();
const Product = require("../models/product")
const routes = require("../Routes/routes")
router.route(routes.GET_ALL_PRODUCTS).get((req,res)=>{
Product.find()
.then(products => res.json(products))
.catch(err => res.status(400).json("Error : ",err))
})
router.route(routes.GET_PRODUCT).get((req,res)=>{
Product.findById()
.then(product => res.json(product))
.catch(err => res.status(400).json("Error : ",err))
})
router.route(routes.DELETE_PRODUCT).delete((req,res)=>{
Product.findByIdAndDelete()
.then(() => res.json("Product Deleted Successfully"))
.catch(err => res.status(400).json("Error : ",err))
})
module.exports = router
用户模型
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
name:{type:String,required:true},
email:{type:String,required:true},
password:{type:String,required:true},
Country:{type:String,required:true},
City:{type:String,required:true},
hasDiscountedPrice:{type:Boolean,required:true},
Address:{type:String,require:true},
Phone:{type:String,require:true},
facebook_id:{type:String},
google_id:{type:String},
type:{type:String,required:true}
})
const User = mongoose.model("User",userSchema)
module.exports = User
用户控制器
const router = require("express").Router();
const User = require("../models/user")
const routes = require("../Routes/routes")
router.route(routes.GET_ALL_USERS).get((req,res)=>{
User.find()
.then(users => res.status(200).json(users))
.catch(err => res.status(400).json("Error : ",err))
})
router.route(routes.GET_USER).get((req,res)=>{
User.findById()
.then(user => res.status(200).json(user))
.catch(err => res.status(400).json("Error : ",err))
})
router.route(routes.DELETE_USER).delete((req,res)=>{
User.findByIdAndDelete()
.then(() => res.status(200).json("User Deleted Successfully"))
.catch(err => res.status(400).json("Error : ",err))
})
module.exports = router
路由文件
const routes = {
// Categories
ADD_CATEGORY:'/add',
GET_ALL_CATEGORIES:'/',
GET_CATEGORY:'/:id',
// Contact-US
CONTACT_US:'contact-us',
// Products
ADD_PRODUCT:'/add',
GET_PRODUCT:'/:id',
GET_ALL_PRODUCTS:'/',
UPDATE_PRODUCT:'/:id',
DELETE_PRODUCT:'/:id',
// Product Reciept
ADD_PRODUCT_RECIEPT:'/add',
GET_PRODUCT_RECIEPTS:'/',
GET_PRODUCT_RECIEPT:'/:id',
// Product Return
ADD_PRODUCT_RETURN:'/add',
GET_PRODUCT_RETURNS:'/',
GET_PRODUCT_RETURN:'/:id',
// Users
REGISTER_USER:"/register",
LOGIN_USER:'/login',
GET_ALL_USERS:'/',
DELETE_USER:"/:id",
UPDATE_USER:"/:id",
GET_USER:"/:id",
// Feedbacks
ADD_USER_FEEDBACK:"/add",
GET_ALL_FEEDBACK:"/",
UPDATE_FEEDBACK:"/:id",
DELETE_FEEDBACK:"/:id",
}
module.exports = routes
其他模型也有类似的模式你能告诉我为什么我的数据库没有被创建吗
解决方案
推荐阅读
- laravel - 如何在 laravel excel 中下降行就像按 control enter
- encoding - 使用带有 CJK 字符的 base64 格式的 SVG 图像生成 WeasyPrint 报告
- c - 如何从 C 中的堆栈指针获取返回地址?
- r - 如何使用 R 中的光栅包将 RGB 图像转换为 CIELAB?
- python - 如何在调试模式下运行fastapi项目在vscode中自动重新加载
- python - 从行中删除任何 0 值,对行中的值进行降序排列,对于行中的每个非 0 值,将索引、列名和分数返回到新的 df
- python - 使用 bs4 和 Python 进行 URL 分离
- symfony - 如何解决“没有扩展能够加载'monolog.http_client'的配置”
- uml - plantuml - 活动图:具有三个传出边和 [else] 保护的决策节点
- html - Flexbox 布局在实际设备上默认反转