В настоящее время я откатываюсь от мангуста к node-mongodb-native.
Так что я совсем новичок в этой теме. Однако в настоящее время моя проблема заключается в том, что я хочу создать коллекцию баз данных при запуске сервера, которую затем могу использовать через приложение. К сожалению, я нахожу в репозитории только примеры, в которых вы можете выполнять действия с базой данных непосредственно в обратном вызове функции подключения.
документы:
var mongodb = require("mongodb"),
mongoServer = new mongodb.Server('localhost', 27017),
dbConnector = new mongodb.Db('example', mongoServer);
db_connector.open(function(err, db) {
if (err) throw new Error(err);
// here I can do my queries etc.
});
Но как я могу получить доступ к объекту db в обратном вызове, когда я нахожусь в каком-то обратном вызове маршрута? В настоящее время единственная идея, которая у меня была бы, - это обернуть приложение в обратный вызов:
var mongodb = require("mongodb"),
express = require("express"),
mongoServer = new mongodb.Server('localhost', 27017),
dbConnector = new mongodb.Db('example', mongoServer);
var app = new express();
db_connector.open(function(err, db) {
if (err) throw new Error(err);
app.get('/products', function(req, res, next) {
db.collection('products', function(err, collection) {
if (err) next(new Error(err));
collection.find({}, function(err, products) {
res.send(products);
});
});
});
});
Но я не думаю, что это так, как должно было быть?
Разве нет способа создать вызов подключения к базе данных синхронизации, который затем я могу легко использовать во всем приложении, как это было с мангустом?
С уважением бодо