Я сталкиваюсь с MongoDB с Node.js, используя плагин node-mongodb-native
. Проблема, с которой я сталкиваюсь - это количество вложенных обратных вызовов. Я пытаюсь упростить несколько вещей, уменьшив код, необходимый для запроса.
Вместо этого ...
db.collection("test", function(err, collection) {
collection.find(...).toArray(function(err, results) {
// ...
});
});
... Я думал о создании объекта, который действует как кэш коллекций, чтобы первый обратный вызов не был необходим. Я использую следующий код для создания объекта:
var collections = {};
["test", "foo"].forEach(function(name) {
db.collection(name, function(err, coll) {
collections[name] = coll;
});
});
С его помощью я могу очистить первый фрагмент кода:
collections.test.find(...).toArray(function(err, results) {
// ...
});
Мне было интересно, является ли это хорошей практикой. Это работает просто отлично, но я думаю, что обратный вызов для получения коллекции не без причины. Имеет ли смысл создавать кеш коллекций, как я делаю сейчас?