Поисковый массив MongoDB NodeJS - PullRequest
0 голосов
/ 30 марта 2020

Я изо всех сил пытаюсь получить записи, где имя совпадает с именем, которое я сохранил в другой базе данных. Я могу получить все поля данных, но я изо всех сил пытаюсь получить конкретные c записи, т.е. где имя = либо Джек, либо Джилл. Я хочу использовать переменную, которую я беру из своего паспортного журнала, в который я могу обратиться по адресу req.user.username.

Я попытался использовать findOne и манипулировать массивом e js без какой-либо удачи. Он выводится на консоль, но я не могу отобразить на vieworders.ejs. Мне кажется, я слишком усложняю, как лучше всего найти и отобразить записи, где applicationDB.name = req.user.username?

server. js is

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.e js is

<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
      <% } %>

Схема MyApplication

const mySchema= new Schema({
  name: {
    type: String,
    required: true,
  },
  ordersize: {
    type: String,
    required: true,
  },
});

module.exports = mongoose.model('MyApplication', mySchema);

1 Ответ

1 голос
/ 30 марта 2020

Вы должны передать фильтр запроса в качестве первого параметра метода 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);
      });
});
...