PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thực thi đồng bộ các truy vấn theo trình tự

Sử dụng Promise.all để thực thi tất cả các truy vấn của bạn, sau đó gọi hàm tiếp theo.

models.Attendance.findAll({
    where: {
        UserId: req.user.id
    }
}).then(function (data) {
    // get an array of the data keys, (not sure if you need to do this)
    // it is unclear whether data is an object of users or an array. I assume
    // it's an object as you used a `for in` loop
    const keys = Object.keys(data)
    // map the data keys to [Promise(query), Promise(query), {...}]
    const hacks = keys.map((d) => {
      return models.Hackathon.findOne({
        where: {
          id: data[d].id
        }
      })
    })
    // user Promise.all to resolve all of the promises asynchronously
    Promise.all(hacks)
      // this will be called once all promises have resolved so
      // you can modify your data. it will be an array of the returned values
      .then((users) => {
        const [user1, user2, {...}] = users
        res.render('dashboard/index.ejs', {
          title: 'My Hackathons', 
          user: req.user, 
          hacks: users
        });
      })
});


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn cho đến khi hàng khớp trong postgresql?

  2. Django prefetch_inity với giới hạn

  3. Làm thế nào để sử dụng Postgres jsonb '?' toán tử trong Laravel với hỗ trợ chỉ mục?

  4. Làm thế nào để tạo trường ARRAY với ràng buộc khóa ngoại trong SQLAlchemy?

  5. Trong pg_restore, làm cách nào bạn có thể sử dụng chuỗi kết nối postgres để chỉ định máy chủ / cơ sở dữ liệu / tên người dùng / mật khẩu?