首页 > 解决方案 > 创建 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

其他模型也有类似的模式你能告诉我为什么我的数据库没有被创建吗

标签: javascriptnode.jsmongodbexpressmongoose

解决方案


推荐阅读