首页 > 解决方案 > setup mongoose with express

问题描述

i'm currently using MongoDB with nodejs, so i'm struggling to use save method, it returns promise pending if there's anyone who can help me to fix I will be thankful. this my code :

booking.js:

var express = require("express");
const Booking = require("../model/booking");
var router = express.Router();

router.get("/booking", async (req, res) => {
  const booking = new Booking({
    address: req.body.address,
    name: req.body.name,
    latitude: req.body.latitude,
    longitude: req.body.longitude
  });
  try {
    const savedBooking = await booking.save();
    console.log(savedBooking);
    res.json(savedBooking);
  } catch (e) {
    res.json({ message: e });
  }
});


module.exports = router;

/module/booking.js:

const mongoose = require("mongoose");

const bookingSchema = mongoose.Schema({
  userName: {
    type: String,
    default: "khalil"
  },

    address:String,
    name:String ,
    latitude: String,
    longitude: String


});

module.exports = mongoose.model("Booking", bookingSchema);

标签: javascriptnode.jsmongodbmongoose

解决方案


我认为您的错误在于获取请求参数。您正在使用 GET 请求并尝试从请求正文中获取数据,但 GET 请求只有参数,而不是正文。将其更改为 POST 或将您的数据更改为req.params.address


推荐阅读