【问题标题】:Cannot GET while using mongoose使用猫鼬时无法获取
【发布时间】:2022-01-06 04:58:15
【问题描述】:

我的路由器.js

const express = require("express")
const Note = require("../models/nodeModel")
const router = express.Router()

router.route("/notes").get((req, res) => {
    Note.find({ show_day: "2020-9-10" })
        .then(foundNotes => res.json(foundNotes))
})

module.exports = router

我的 server.js

const express = require("express")
const app = express()
const cors = require("cors")
const mongoose = require("mongoose");

app.use(cors())
app.use(express.json())

mongoose.connect("mongodb://localhost:27017/my-app")

app.use("/",require("./routes/noteRouter"))

app.listen(3000,function(){
    console.log("server is running on port 3000");
})

我的 nodeModel.js

const mongoose = require('mongoose')

const noteSchema = {
    show_day:String,
    diary_day: String,
    content: String
}

const Note = mongoose.model("diary",noteSchema)

module.exports = Note;

当我尝试 console.log Note.find() 时,它可以工作。但是当我运行 server.js 时,浏览器显示无法 GET/ 为什么它不能工作?

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    你只有/notes端点,没有/路由。

    您应该像这样在 router.js 中更改路由:

    const express = require("express")
    const Note = require("../models/nodeModel")
    const router = express.Router()
    
    router.route("/").get((req, res) => {
        Note.find({ show_day: "2020-9-10" })
            .then(foundNotes => res.json(foundNotes))
    })
    
    module.exports = router
    

    或访问/notes 而不是/

    【讨论】:

    • 太棒了!您介意将我的答案标记为正确吗? :)
    猜你喜欢
    • 2020-01-11
    • 2020-06-12
    • 2016-11-12
    • 2016-02-09
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 2018-10-13
    • 2022-12-19
    相关资源
    最近更新 更多