我在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中编写代码,因此很难弄清楚。非常感谢你。如果这个问题不清楚,请告诉我,我将相应地添加更多信息。
答案 0 :(得分:0)
尝试一下:
noteSchema.methods = {
toJSON() {
return {
id:this._id,
content: this.content,
date: this.date,
important: this.important,
}
}