So I am making a following system using mongoose.
This is the schema
const usersSchema = new mongoose.Schema({
username: {
type: String,
required: true,
unique: true,
},
password: {
type: String,
required: true,
},
email: {
type: String,
required: true,
unique: true,
},
followers:[{ type: mongoose.SchemaTypes.ObjectId,
ref: 'User',
default:null
}],
following:[{ type: mongoose.SchemaTypes.ObjectId,
ref: 'User',
default:null
}]
I am trying to display the length of the length of the objects in the followers and following arrays using ejs. This is the ejs code
<table border="1px">
<th>
S. No
</th>
<th>Username</th>
<th>Followers</th>
<th>Following</th>
<th>Edit</th>
<% data.allUser.forEach((item)=> { %>
<tr>
<td>
<%= k++ %>
</td>
<td>
<%= item.username %>
</td>
<td>
<% for (let l = 0; l < data.length; l++){ %>
<%= item.followers[l] %>
<%}%>
</td>
<td>
<% for (let m = 0; m < data.length; m++){ %>
<%= item.following[m] %>
<%}%>
</td>
<td>
<form action="/follow/ <%= item._id%>" method="POST" >
<button id="<%= item._id %>">Follow</button>
</form>
</td>
<% }) %>
The table gets rendered but the columns are empty