MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cấu trúc lại mã phần mềm trung gian của dự án NodeJS, sử dụng các tuyến đường, bộ điều khiển và mô hình

Có 2 thứ, khi được sử dụng kết hợp, sẽ làm cho mã đẹp hơn nhiều:

  • Collection.find trả về một Lời hứa .
  • Để đợi Lời hứa được giải quyết trong Javascript hiện đại, hãy sử dụng await

Bạn có thể sử dụng mã sau:

const Person= require('./models/person')
const Mortician = require('./models/mortician')
router.get('/', async (req, res, next) => {
  try {
    const persons = await Person.find({ pickedUp: false });
    const morticians = await Mortician.find({});
    res.render('pages/dashboard', {
      title: 'Dashboard',
      persons,
      morticians,
    });
  } catch(e) {
    // handle errors
  }
});

Hoặc, để truy xuất kết quả song song thay vì nối tiếp, hãy sử dụng Promise.all :

router.get('/', async (req, res, next) => {
  try {
    const [persons, morticians] = await Promise.all([
      Person.find({ pickedUp: false }),
      Mortician.find({})
    ]);
    res.render('pages/dashboard', {
      title: 'Dashboard',
      persons,
      morticians,
    });
  } catch(e) {
    // handle errors
  }
});

Bạn có thể sử dụng cùng một loại mẫu bất cứ khi nào bạn có nhiều lệnh gọi không đồng bộ - không cần lồng và thụt lề dấu ngoặc đơn xấu xí.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để đổi tên các trường khi thực hiện tìm kiếm / chiếu trong MongoDB?

  2. Cách chính xác để thực hiện HAVING trong MongoDB GROUP BY là gì?

  3. cappedMax không hoạt động trong trình ghi chép winton-mongodb trong Node.js trên Ubuntu

  4. Xác định lược đồ Mongodb

  5. tra cứu tổng hợp mongoDB trên mảng đối tượng lồng nhau