猫鼬-无法使用find方法获取数据

时间:2020-02-24 15:33:26

标签: node.js mongoose

我在note.js文件中定义了一个Note模式: const mongoose = require('mongoose')

const noteSchema = new mongoose.Schema({
  content: {
    type: String,
    required: true,
    minlength: 5
  },
  date: Date,
  important: Boolean,
})

noteSchema.set('toJSON', {
  transform: (document, returnedObject) => {
    returnedObject.id = returnedObject._id.toString()
    delete returnedObject._id
    delete returnedObject.__v
  }
})

module.exports = mongoose.model('Note', noteSchema)

这是我的笔记路由器:

notesRouter.get('/', (request, response) => {
    Note.find({}).then(notes => {
        console.log(notes.length)
        response.json(notes.map(note => note.toJSON()))
    })
})

和我的app.js:

app.use('/api/notes', notesRouter)

我按照fullstackopen教程进行了此操作,但是我坚持了这一点。在find方法中notes数组的长度始终为0。有人可以帮我这个忙。这是我第一次在node.js中编写代码,因此很难弄清楚。非常感谢你。如果这个问题不清楚,请告诉我,我将相应地添加更多信息。

1 个答案:

答案 0 :(得分:0)

尝试一下:

noteSchema.methods = {
  toJSON() {
    return {
      id:this._id,
      content: this.content,
      date: this.date,
      important: this.important,
    }  
}