javascript - 未定义的对象,使用 NodeJS 和 Mongoose 从 MongoDB 获取模式较少的数据
问题描述
我正在尝试在 mongoDB 中使用 mongoose 作为无模式在工作期间保存数据工作正常但是当我尝试获取数据时出现问题
这是模型创建代码:
const TemplateSchema = new Schema({
any: {},
blog: {
type: Schema.Types.ObjectId,
ref:'blogs'
},
user:{
type: Schema.Types.ObjectId,
ref:'users'
},
date:{
type: Date,
default: Date.now
}
},{ strict: false });
保存代码:
let newTemplate = {
tempbody: { name: 'Laith', age: 26 },
blog: blog.id,
user: req.session.userid,
}
//console.log(inputObject);
new Template(newTemplate).save()
.then((template) => {
res.redirect(`/blogs/posts/${req.params.blogid}`);
});
获取代码:
Template.findOne({_id: req.params.templateid}).populate('blog').then(template =>{//To Fetch ObjectID for Blog from DB
if(template && template.blog.blogID == req.params.blogid) {
console.log(template.tempbody);
res.render('blogs/addPostTemplate', {
template: template,
blogid: req.params.blogid,
templateid: req.params.templateid
});
} else {
res.redirect(`/blogs/posts/${req.params.blogid}`);
}
});
结果假设为: Object tempbody 但它始终未定义,如果我尝试获取 template._id 它工作正常,如果我将模板打印为完整对象,它也会给出结果
有时给出:(node:16840) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated
任何帮助表示赞赏。
解决方案
推荐阅读
- javascript - 保留有太多 div 的网页的一部分,已修复
- matlab - 如何覆盖矩阵中的特定值?MATLAB
- react-native - 移动选项卡应重置堆栈以响应本机路由器通量
- excel - Excel - 如何自动将文本 URL 转换为活动超链接?
- wordpress - 如何在 WordPress 插件设置中添加切换按钮?
- angular - 角度如何推送到可观察数组?英雄:可观察
- javascript - Angular 验证器在 @Input 之前运行
- wpf - 如何在 WPF 中创建下拉图像
- python - 具有多个级别的 islice 和循环
- ios - UITextField 忽略约束并将文本移出屏幕