猫鼬成功保存了一个文档,但是没有反映在数据库中

时间:2018-08-18 10:08:02

标签: node.js mongodb express mongoose

这是模型的样子

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const popBookSchema = new Schema({
      title: String,
      url: String
});

module.exports = mongoose.model('PopBook', popBookSchema);

这就是控制器的样子

exports.addBook = async(req, res) => {
  const book = await Book.findOne({title: req.query.book});
  const popBook = new PopBook(book);
  console.log(book);
  console.log(popBook.url);
  await popBook.save()
  .then(() => {
    console.log('successfully saved popular book');
  })
  .catch((err)=>{
    console.log(err);
  });
  res.send(popBook);
}

现在,conosle.log打印书和popbook.url,我在控制台中也收到“成功保存”消息,但是数据库内部没有任何内容。该集合在数据库中不存在。现在,我使用另一种模型对其进行了测试,并且一切正常。我只是在这里找不到问题。

1 个答案:

答案 0 :(得分:0)

在mongo cli中创建集合时,要与猫鼬建立连接,必须在Schema中添加{collection:“ collectionName”}。

new Schema({ title: String, url: String },{collection:"collectionName"});

请尝试