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.

Node.js di Gabriele Romanato

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