ES 6 (Nút 8+)
Bạn có thể sử dụng async / await
await
toán tử tạm dừng việc thực thi chức năng không đồng bộ cho đến khi Lời hứa được giải quyết và trả về giá trị.
Bằng cách này, mã của bạn sẽ hoạt động theo cách đồng bộ:
const query = MySchema.findOne({ name: /tester/gi });
const userData = await query.exec();
console.log(userData)
Giải pháp cũ hơn - tháng 6 năm 2013;)
Hiện đã có Mongo Sync, đây là cách phù hợp để thực hiện truy vấn MongoDB đồng bộ trong Node.js.
Tôi đang sử dụng điều này cho cùng một. Bạn chỉ có thể viết phương thức đồng bộ hóa như sau:
var Server = require("mongo-sync").Server;
var server = new Server('127.0.0.1');
var result = server.db("testdb").getCollection("testCollection").find().toArray();
console.log(result);
Lưu ý:Nó phụ thuộc vào node-fiber và một số vấn đề với nó trên windows 8.
Chúc bạn viết mã vui vẻ :)