my router.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
my 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");
})
my 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;
When I try to console.log Note.find(), it works. But when I run server.js, browser says Cannot GET/ Why it can't work?
CodePudding user response:
You only have /notes endpoint, there's no / route.
You should change route in router.js like this:
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
or access /notes instead of /.
