ES 6 (Uzel 8+)
Můžete použít async/wait
await
Operátor pozastaví provádění asynchronní funkce, dokud není Promise vyřešen a vrátí hodnotu.
Tímto způsobem bude váš kód fungovat synchronně:
const query = MySchema.findOne({ name: /tester/gi });
const userData = await query.exec();
console.log(userData)
Starší řešení - červen 2013;)
Nyní je k dispozici Mongo Sync, toto je správný způsob, jak vytvořit synchronní dotaz MongoDB v Node.js.
Na to samé používám toto. Stačí napsat metodu synchronizace jako níže:
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);
Poznámka:Závisí na uzlovém vláknu a ve Windows 8 jsou s ním některé problémy.
Hodně štěstí při kódování :)