ES 6 (Nod 8+)
Du kan använda async/await
await
operatören pausar exekveringen av asynkron funktion tills löftet är löst och returnerar värdet.
På så sätt kommer din kod att fungera synkront:
const query = MySchema.findOne({ name: /tester/gi });
const userData = await query.exec();
console.log(userData)
Äldre lösning - juni 2013;)
Nu är Mongo Sync tillgänglig, det här är rätt sätt att göra en synkron MongoDB-fråga i Node.js.
Jag använder detta för samma sak. Du kan bara skriva synkroniseringsmetod som nedan:
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);
Obs:Det är beroende av nodfibern och vissa problem finns med det i Windows 8.
Lycka till med kodningen :)