ES 6 (Nœud 8+)
Vous pouvez utiliser async/wait
await
l'opérateur suspend l'exécution de la fonction asynchrone jusqu'à ce que la promesse soit résolue et renvoie la valeur.
De cette façon, votre code fonctionnera de manière synchrone :
const query = MySchema.findOne({ name: /tester/gi });
const userData = await query.exec();
console.log(userData)
Ancienne Solution - Juin 2013;)
Maintenant que Mongo Sync est disponible, c'est la bonne façon de faire une requête MongoDB synchrone dans Node.js.
Je l'utilise pour la même chose. Vous pouvez simplement écrire la méthode de synchronisation comme ci-dessous :
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);
Remarque :cela dépend de la fibre de nœud et certains problèmes existent avec Windows 8.
Bon codage :)