无法通过ID查找文档

时间:2020-10-19 21:59:02

标签: node.js mongodb mongoose

所以我正在尝试更新文档,但是它不能与_id一起使用,但是如果我使用“名称”进行过滤,则可以使用 我也尝试过使用FindByID,它返回null 使用猫鼬版本5.0.18

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/mongo-exercises')
    .then(() => console.log('connected to database :)'))
    .catch(reason => console.log('Can not connect to data base',reason));

const courseSchema = mongoose.Schema({
    name: String,
    author: String,
    tags: [String],
    Date: { type:Date,default:Date.now },
    isPublished: Boolean,
    price: Number
});
const Course = mongoose.model('courses',courseSchema);

async function updateCourse(id){
  let result = await Course.update({_id: id},{
      $set:{
          author: "some random dude",
          isPublished: true
      }
  });

  console.log('result: ',result);

}

updateCourse('5a68fde3f09ad7646ddec17e');

2 个答案:

答案 0 :(得分:1)

尝试使用

//make sure you import Course module

Course.findByIdAndUpdate(id)
.then(response=>{

})
.catch(err=>{

})

答案 1 :(得分:0)

我只需要重新导入不带_id的集合,以便它可以重新生成它们