Chcę skorzystać z funkcji obietnic, gdzie w I można połączyć się z mongodb synchronicznie i mogę ponownie wykorzystać połączenie, przekazując go do różnych modułów.jak połączyć się z mongodb synchronicznie w nodejs
Oto coś, co wymyśliłem
class MongoDB {
constructor(db,collection) {
this.collection = db.collection(collection);
}
find(query, projection) {
if(projection)
return this.collection.find(query, projection);
else
return this.collection.find(query);
}
}
class Crew extends MongoDB {
constructor(db) {
super(db,'crews');
}
validate() {
}
}
Chcę skonfigurować połączenie gdzieś w moim początkowym kodu jak poniżej, a następnie ponowne podłączenie do różnych klas, podobnie jak jak mangusta lub mnich robi ale przy użyciu tylko pakietu native-mongodb-native.
MongoClient.connect(url)
.then((err,dbase) => {
global.DB = dbase;
});
var Crew = new CrewModel(global.DB);
Crew.find({})
.then(function(resp) {
console.log(resp);
});
Teraz powraca db niezdefiniowane wewnątrz głównej klasy MongoDB i nie jestem w stanie do debugowania ten jeden przez google lub dokumentacji.
Edytuj: Przyjąłem, że obietnica była synchroniczna, ale tak nie jest.
Dzięki, w moim pytaniu była luka. Zakładałem, że obietnica była synchroniczna, stąd jakiś błąd w moim kodzie, ale dziękuję za tę informację, ponieważ jest dla mnie bardzo przydatna. – Bazinga777