Node.js: effettuare l'ordinamento (sorting) dei dati di MongoDB con ExpressJS
Possiamo effettuare il sorting dei dati di MongoDB in Node.js utilizzando ExpressJS.
Possiamo effettuare il sorting dei dati di MongoDB in Node.js utilizzando ExpressJS.
Abbiamo la seguente tabella:
<table>
<thead>
<tr>
<th>ID
<a href="?order=id&sort=asc">+</a>
<a href="?order=id&sort=desc">-</a>
</th>
<th>
Name
<a href="?order=name&sort=asc">+</a>
<a href="?order=name&sort=desc">-</a>
</th>
</thead>
<tbody>
</tbody>
</table>
La nostra soluzione:
app.get('/documents', (req, res) => {
let sort = {};
let allowed = ['id', 'name'];
if(req.query.sort) {
let order = req.query.order;
if(allowed.indexOf(order) !== -1) {
sort[order] = (req.query.sort === 'asc') ? 1 : -1;
}
}
db.documents.find().limit(10).sort(sort).then(docs => {
//...
}).catch(err => {
//...
});
});
Commenti