Обучение на этой неделе в основном связано с взаимодействием базы данных Nodejs, и мы используем нефритовый шаблон для создания сертифицированного пользователя веб-сайта вместе. В основном я столкнулся с несколькими проблемами.
1. Версия MongoDB слишком низкая
npm err! Несомненно с вашей операционной системой или архитектурой: [email protected]
0.9.9 только поддерживает системы Linux, Darwin и FreeBSD, а последняя версия поддерживает победы.
2. После выполнения Nodejs операция вставки: результат не может быть прочитал
Кода -копия выглядит следующим образом:
app.post ('/swinup', function (req, res, next) {
// вставить документ
app.users.insert (req.body.user, function (err, doc) {
if (err) return next (err);
res.redirect ('/login/' + doc [0] .email);
});
});
Появление состоит в том, что перенаправление не удалось, и реальная ситуация заключается в том, что вставка базы данных была успешной, но DOC пуст, не говоря уже о значении DOC [0]. Причина в том, что такие операции, как вставка, выполняются асинхронно. Асинхронные операции не возвращают свои результаты по умолчанию, чтобы определить, успешно ли они работают. Эта функция должна быть реализована путем добавления третьего параметра {safe: ture}, а именно app.users.insert (req.body.user, {safe: ture}, function () {...}). Таким образом, результат будет успешно прочитать.
3. Появляется неопределенная магазин Connect-Connect
Кода -копия выглядит следующим образом:
Mongostore = require ('connect-mongo')
app.use (express.session ({
Секрет: настройки.cookiesecret,
Магазин: новый монгостор ({
DB: Настройки.db
})
}));
Исходный код, как указано выше. Причина обнаружена, что модуль Connect-Mongo вводится по-разному на основе различных версий Express. Есть также специальное напоминание в его readme.md.
Кода -копия выглядит следующим образом:
С выражением4:
var session = require ('express-session');
var mongostore = require ('connect-mongo') (session);
app.use (session ({
Секрет: настройки.cookie_secret,
Магазин: новый монгостор ({
DB: settings.db,
})
}));
С выражением <4:
var Express = require ('Express');
var mongostore = require ('connect-mongo') (Express);
app.use (express.session ({
Секрет: настройки.cookie_secret,
Магазин: новый монгостор ({
DB: Настройки.db
})
}));
Для различных версий, пожалуйста, измените их соответственно.
4. Резюме
После изучения этой книги я знаю некоторые характеристики Nodejs и веб -сайта активного иностранного языка. Частота обновлений некоторых популярных разделов в узле также увеличила сложность обучения, поэтому эта книга можно считать вступительной. Далее мы планируем изучить основы Sails Backend в рамках практического боя. Проблемы, возникающие во время исследования, также записаны в записной книжке.