最初的问题已经解决,谢谢!
现在,每当我插入文档时,它都会像这样出现:
{
_id: "5e3b64b6655fc51454548421",
todos: [ ],
title: "title"
}
它应该看起来像这样,因为在架构中“title”属性位于“todos”属性之上。
{
_id: "5e3b64b6655fc51454548421",
title: "title",
todos: [ ]
}
JavaScript
//project schema
const schema = mongoose.Schema({
title: String,
todos: []
});
const Project = mongoose.model('Project', schema);
//add a project
app.post('/addProject', (req, res) => {
const collection = db.collection('projects')
const proj = new Project({title: req.body.title});
collection.insertOne(proj, function(err, results) {
if (err){
console.log(err);
res.send('');
return
}
res.send(results.ops[0]) //retruns the new document
})
})
最佳答案
您将在下面的行中重命名您的 key :
const proj = new Project({title: req.body.projTitle});
您的架构需要 projTitle
,请尝试将其更改为:
const proj = new Project({projTitle: req.body.projTitle});
Mongoose schema定义文档的结构。每当您尝试保存架构中未定义的其他字段时, Mongoose 都会忽略它。
关于javascript - 与 insertOne 函数一起使用时,MongoDB 架构不插入属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086300/