ES 6 (Nodo 8+)
Puoi utilizzare async/await
await
l'operatore sospende l'esecuzione della funzione asincrona fino a quando la promessa non viene risolta e restituisce il valore.
In questo modo il tuo codice funzionerà in modo sincrono:
const query = MySchema.findOne({ name: /tester/gi });
const userData = await query.exec();
console.log(userData)
Soluzione precedente - giugno 2013;)
Ora Mongo Sync è disponibile, questo è il modo giusto per creare una query MongoDB sincrona in Node.js.
Sto usando questo per lo stesso. Puoi semplicemente scrivere un metodo di sincronizzazione come di seguito:
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);
Nota:dipende dalla fibra del nodo e su Windows 8 ci sono alcuni problemi.
Buona codifica :)