I'm trying to create a page where there are two inputs to query two database collections and then display data in a table and in a title.
The "job" data seems to renders no problem, the "operative" data only displays as a raw object like this:
If I try to access and inject the "operative" name using <%= operative.name %>
, I get a "Cannot read property "name" of null."
Here is the express code:
app.get('/rounds/new', async(req, res) => {
const { number } = req.query;
const { employee } = req.query;
const round = await Job.find({ roundNumber: number });
const operative = await Operative.findOne({ name: employee });
res.render('rounds/new', { round, operative })
});
And this displays the raw object data:
<h2><%= operative %></h2>
This creates an error:
<h2><%= operative.name %></h2>
To summarise, I can get the raw "operative" data but I can't access and inject the key values from it without throwing an error. The other "job" one works perfectly.
Whats going on?
EDIT: If it helps...if I click search with <%= operative %>
in the html page, the raw data displays as usual however if I immediately go to the code editor and change the code to `<%= operative.name %>, save and refresh the page when the data is still being displayed (as seen in the image), it changes to just 'Billy' - the intended result.
Comments
Post a Comment