Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过mongoose查询mongoDB时出现的问题_Javascript_Mongodb_Mongoose - Fatal编程技术网

Javascript 通过mongoose查询mongoDB时出现的问题

Javascript 通过mongoose查询mongoDB时出现的问题,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,我正在编写一个教程,我遵循了教程中的所有说明。当老师在他的视频中向我们展示时,一切都很好,然而,当我尝试时,我遇到了一个问题。我和指导老师仔细检查了我的代码,一切都一模一样 我使用的是最新的猫鼬5.9.3 我在这里尝试的是使用Mongoose从MongoDB查询ObjectId。但是,我得到以下错误 CastError:model“Campland”的路径“\u id”处的值“5e617a8af3f1e9383973f3e5”转换为ObjectId失败 传入的参数必须是12字节的单个字符串或24

我正在编写一个教程,我遵循了教程中的所有说明。当老师在他的视频中向我们展示时,一切都很好,然而,当我尝试时,我遇到了一个问题。我和指导老师仔细检查了我的代码,一切都一模一样

我使用的是最新的猫鼬5.9.3

我在这里尝试的是使用Mongoose从MongoDB查询ObjectId。但是,我得到以下错误

  • CastError:model“Campland”的路径“\u id”处的值“5e617a8af3f1e9383973f3e5”转换为ObjectId失败
  • 传入的参数必须是12字节的单个字符串或24个十六进制字符的字符串
  • 这是我的密码:

    var   express       = require("express"),
      app           = express (),
      bodyParser    = require("body-parser"),
      mongoose      = require("mongoose");
    
    mongoose.connect("mongodb://localhost:27017/yelp_camp", {useNewUrlParser:true, useUnifiedTopology:true});
    
    app.set("view engine", "ejs");
    app.use(bodyParser.urlencoded({extended:true}));
    
    //SCHEMA SETUP
    var campgroundSchema = new mongoose.Schema({
        name: String,
        image: String,
        description: String
    });
    
    
    var Campground = mongoose.model("Campground", campgroundSchema);
    
    app.get("/", function(req, res){
        res.render("landing");
    });
    
    app.get("/campgrounds", function (req, res){
        //get all campgrounds from db
        Campground.find({}, function(err, allCampgrounds){
            if(err){
                console.log(err);
            } else{
                res.render("index", {campgrounds:allCampgrounds});
            }
        });
    });
    
    app.post("/campgrounds", function(req, res){
        var name = req.body.name;
        var image = req.body.image;
        var newCampground = {name: name, image: image};
        // Create a new campground and save to DB
        Campground.create(newCampground, function(err, newlyCreated){ 
            if(err){
                console.log(err);
            } else {
                res.redirect("/campgrounds");
            };
        });
    });
    
    app.get("/campgrounds/new", function(req, res){
        res.render("new.ejs");
    });
    
    app.get("/campgrounds/:id", function(req, res){
        //find the campground with provided ID
        Campground.findById(req.params.id, function(err, foundCampground){
            if(err){
                console.log(err);
            } else {
                res.render("show", {campground: foundCampground});
            }
        });
    });
    
    app.listen(process.env.PORT, process.env.IP, function(){
        console.log("The YelpCamp Sever Has Started!");
    });
    

    任何帮助都将不胜感激

    我正在查看收到的错误消息,我看到stringValue中有一个空白。是否有办法修剪字符串以消除空白。我不确定它是否能解决这个问题,但我想看看是否有一个函数或方法可以消除空白。以下是错误:stringValue:'5e617a8af3f1e9383973f3e5',种类:'对象id',值:'5e617a8af3f1e9383973f3e5',路径:'_id',我正在查看收到的错误消息,我看到我的stringValue中有一个空白。是否有办法修剪字符串以消除空白。我不确定它是否能解决这个问题,但我想看看是否有一个函数或方法可以消除空白。以下是错误:stringValue:'5e617a8af3f1e9383973f3e5',种类:'对象id',值:'5e617a8af3f1e9383973f3e5',路径:'\u id',