Я получаю странную ошибку. Я предполагаю, что это потому, что я не обрабатываю ошибку правильно, чтобы получить больше информации. Вот ошибка, которую я получаю. Я искал здесь без успеха в поиске чего-то подобного. Документы просто сбивают меня с толку.
{"name":"MongoError","level":"error","service":"user-service"}
Вот мой сценарий подключения:
const mongoose = require('mongoose'),
logger = require('./logging');
async function connect(){
await mongoose.connect("mongodb://localhost:27017/fdData")
.catch(error => {
logger.error(error);
});
}
async function disconnect(){
await mongoose.disconnect()
logger.info('DB disconnected');
}
module.exports= {connect, disconnect}
}
module.exports= {connect, disconnect}
И вот где я его называю. (Это всего лишь небольшой фрагмент сценария).
ОБНОВЛЕНО 1/20/20 @ 1024am PST.
- (Удалены db.connect () и db.disconnect от погоды. js. Db.connect происходит в приложении. js. Weather. js проверяет пн goose состояние готовности и сообщает о состоянии 1 (подключено).
- Добавлен mon goose Op результат в логгер, так что теперь мы видим результат попытки mon goose op в консоли.
//schema setup
const weatherSchema = new mongoose.Schema({
condition: String,
temp: Number,
windDir: String,
windSpd: Number,
windGust: Number,
windChill: String,
humidity: Number,
icon: String,
tempIcon: String,
date: String,
updated: String,
});
const weatherWarningSchema = new mongoose.Schema({
warning: String,
warningStart: String,
warningExpire: String,
warningBody: String,
id: String,
date: String,
});
const Weather = mongoose.model("weather", weatherSchema);
const Warning = mongoose.model("warning", weatherWarningSchema);
currentWeather=[];
async function saveWeather(update){
/////////commented Out for troubleshooting//////////
// await db.connect()
// .then(error=>{logger.error(error)
/////////end comments/////////////
Weather.findOneAndUpdate({date: update.date},
{ date:update.date,
condition:update.condition,
temp:update.temp,
windChill:update.windChill,
windDir:update.windDir,
windSpd:update.windSpd,
windGust:update.windGust,
humidity:update.humidity,
icon:update.icon,
tempIcon:update.tempIcon,
updated:update.updated},
{upsert:true,
new: true,},
function(error, result){
if (error){
logger.error(error);
} else{
console.log(result);
logger.info('Weather Saved to DB '+moment().utcOffset(-8).format('HH:mm'))
}
})
console.log('Mongoose Ready State: '+mongoose.connection.readyState)
///////commented out for troubleshooting////////
// }).then((res, error)=>{
// if(error){
// logger.error(error)
// }
// db.disconnect();
// })
/////////end comments/////////
}
Это полный начальный вывод в консоли:
Получение данных записи ...
Обновление данных о погоде ...
(узел: 3890) Предупреждение об устаревании: текущий механизм обнаружения и мониторинга сервера устарел и будет удален в следующей версии. Чтобы использовать новый механизм обнаружения и мониторинга сервера, передайте опцию {useUnifiedTopology: true} конструктору MongoClient.
(узел: 3890) DeprecationWarning: текущий синтаксический анализатор строк URL устарел и будет удален в будущей версии. Чтобы использовать новый анализатор, передайте сообщение {useNewUrlParser: true} в MongoClient.connect.
{"message ":" Сервер панели мониторинга запущен ing on 3000 "," level ":" info "," service ":" user-service "}
{" message ":" токен Crewsense является текущим "," level ":" info "," service ":" user-service "}
{" message ":" Токен A911 является текущим "," level ":" info "," service ":" user-service "}
Пн goose Состояние готовности: 1
{_id: 5e25ef3d8c936f22f7722326, дата: '2020-01-20', __v: 0, состояние: 'Солнечно', влажность: 96, значок: 'sunny.png ', temp: 34, tempIcon:' https://cdn.aerisapi.com/wxicons/v2/cold.png ', обновлено: '01 / 20/20 10:19', windChill: '34', windDir: 'N', windGust: 0, windSpd : 0}
{"message": "Погода сохранена в БД 10:19", "level": "info", "service": "user-service"}
Сохранение записи Данные ...
Запись данных сохранена.