[英]Search array MongoDB NodeJS
我正在努力获取名称与我存储的另一个数据库的名称相匹配的记录。 我可以检索所有数据字段,但我正在努力获取特定记录,即名称 = jack 或 jill。 我想使用我从护照日志中获取的变量,我可以在 req.user.username 中访问该变量。
我尝试使用 findOne 并在没有任何运气的情况下操作 ejs 数组。 它打印到控制台,但我无法在 vieworders.ejs 上显示我认为我过于复杂了,在 applicationDB.name = req.user.username 处查找和显示记录的最佳方法是什么?
server.js 是
app.get('/vieworders', require('connect-ensure-login').ensureLoggedIn(), function(req, res) {
Myapplication.find(function(err, myorders) {
res.render('vieworders', { user: req.user, myorders: myorders});
console.log(myorders);
});
});
vieworders.ejs 是
<h1> Display Orders Here </h1>
<% if(myorders.length>0) { %>
<table border="1">
<tr>
<th>Index</th>
<th>Name</th>
<th>size</th>
</tr>
<% for(var i=0; i<hurleys.length;i++) { %>
<tr>
<td><%= i %></td>
<td><%= myorders[i].name %></td>
<td><%= myorders[i].orderssize %></td>
</tr>
<% } %>
</table>
<% } else { %>
No Record Found
<% } %>
我的应用程序架构是
const mySchema= new Schema({
name: {
type: String,
required: true,
},
ordersize: {
type: String,
required: true,
},
});
module.exports = mongoose.model('MyApplication', mySchema);
您必须将查询过滤器作为find
方法的第一个参数传递。
这应该可以解决问题,假设用户名作为name
存储在架构中。
app.get('/vieworders', require('connect-ensure-login').ensureLoggedIn(), function(req, res) {
Myapplication.find({name: req.user.username}, function(err, myorders) {
res.render('vieworders', { user: req.user, myorders: myorders});
console.log(myorders);
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.