Bạn có thể bọc từng findOne
hàm vào lời hứa và sử dụng await
từ Babel. Trong trường hợp này, mã của bạn có thể trông giống như sau:
let office = await new Promise((resolve, reject) => {
Office.findOne({ geolocation: origin._id}, function(err, office){
if (err) reject(err)
resolve(office)
});
let company = await new Promise((resolve, reject) => {
Company.findOne({ _id: office.company }, function(err, company){
if (err) reject(err)
resolve(company)
});
... and so on
Hoặc, có thể bạn muốn đọc về dân số trong MongoDB: http://mongoosejs.com/docs/populate .html