Скомпилируйте две разные записи mongodb - PullRequest
0 голосов
/ 08 мая 2018

Я только начинаю с javascript / express / mongodb. В качестве небольшого стартового проекта я хочу сделать простой диспетчер задач. Задачи должны быть разделены на prios. Таким образом, каждая запись имеет свой флаг «высокий», «средний» или «низкий».

Однако мне не удается отобразить разные записи на странице индекса.

Сообщение об ошибке: «tasks_low не определено»

Это соответствующий фрагмент js:

app.get('/', function(req, res){
    db.tasks.find({prio: 'high'}, function (err, highs) {
        res.render('index', {
            title: 'Aufgaben High:',
            tasks: highs
        });
    })

});

app.get('/', function(req, res){
        db.tasks.find({prio: 'low'}, function (err, lows) {
        res.render('index', {
            title: 'Aufgaben Low:',
            tasks_low: lows
        });
    })

});

Это мой файл index.ejs:

<h1>Prio High</h1>
<ul>
    <% tasks.forEach(function(tasks){ %>
    <li><%= tasks.task %> <%= tasks.prio %> - <a class="deleteUser" data-id="<%= tasks._id %>" href="#">x</a></li>
<% }) %>
</ul>
<br><br>

<h1>Prio Low</h1>
<ul>
    <% tasks_low.forEach(function(tasks_low){ %>
    <li><%= tasks_low.task %> <%= tasks_low.prio %> - <a class="deleteUser" data-id="<%= tasks_low._id %>" href="#">x</a></li>
<% }) %>
</ul>

Однако, когда я компилирую в разные представления, все работает хорошо!

app.get('/tasks_high/', function(req, res){
    db.tasks.find({prio: 'high'}, function (err, highs) {
        res.render('index', {
            title: 'Aufgaben High:',
            tasks: highs
        });
    })

});

app.get('/tasks_low/', function(req, res){
        db.tasks.find({prio: 'low'}, function (err, lows) {
        res.render('index', {
            title: 'Aufgaben Low:',
            tasks_low: lows
        });
    })

});

1 Ответ

0 голосов
/ 08 мая 2018

Просто создайте запись коллекции с заголовком + задача:

// Task collection structure
var Task= mongoose.model('Tasks', {
    title: String,
    priority: String,
});

А затем отфильтруйте каждую задачу по приоритету, как вы делаете, но с использованием той же коллекции

...