我使用NodeJS,Express,EJS和Mongoose。我对 Mongoose 有点陌生,我不知道该如何继续。
我定义了两个模型,一个文档通过ObjectId链接到另一个。
它们看起来像这样:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const timerSchema = new Schema({
customer: {
type: mongoose.Schema.Types.ObjectId, ref: 'Customer',
required: true
},
detailed: {
type: String,
required: true
},
summary: {
type: String,
required: true
},
}, { timestamps: true }
);
const custDataSchema = new Schema({
firstName: {
type: String,
required: true
},
email: {
type: String,
required: true
},
}, { timestamps: true }
);
const Customer = mongoose.model('Customer', custDataSchema);
const Timer = mongoose.model('Timer', timerSchema);
module.exports = Timer;
module.exports = Customer;
我有通过网页输入的所有数据,它是正确地更新到数据库。
我能够从Customer模式中获取一些信息,以填充以下路由:
router.get('/customers/:id', (req, res) => {
const id = req.params.id;
Customer.findById(id)
.then(result => {
res.render('details', { customer: result, title: 'Customer Details' });
})
.catch(err => {
console.log(err);
});
})
然而,我无法弄清楚如何从Timer模型中获取数据,以显示在同一页面上。下面是html/ejs:
<div class="container">
<div class="">
<h2><%= customer.firstName %></h2>
</div>
<div>Email: <%= customer.email %></div>
<div>Company: <%= tester.summary %> </div>
</div>
我的目标是尽可能多地使用Vanilla JS(绝对不使用JQuery),我知道我在我面前缺少了一些东西。有什么办法能把我引向正确的方向吗?
1条答案
按热度按时间qkf9rpyu1#
对于其他需要答案的人来说,我能够将数据分配给变量并得到预期的结果: