У меня есть приложение, которое работает на NodeJS, и использует MongoDB в качестве базы данных для получения информации.NodeJS - это Mongoose быстрее, чем MongoJS?
В настоящее время я подключаюсь к MongoDB через модуль MongoJS, целью которого является «подражать официальному API-интерфейсу mongodb как можно больше».
Приложение получает около 20 000 объектов и сохраняет их каждый в MongoDB. Во-первых, он ищет базу данных, чтобы узнать, существует ли этот объект, затем он либо обновляет существующую запись, либо добавляет новую запись.
Это может быть довольно медленно. Я не уверен, что это потому, что MongoJS
является синхронным/однопотоковым (если он даже есть - я не уверен!), Или это просто реальность записи большого количества записей в БД, но это занимает 45 минут-1 час чтобы сделать все это, и я, очевидно, хотел бы сократить это как можно больше.
Мне интересно, будет ли Mongoose лучшим вариантом для этого. По-видимому, это асинхронно, я не знаю, повлияет ли это на производительность.
Отличный ответ. Я отмечаю это как правильный ответ независимо от того, , но можете ли вы подробно остановиться на узком месте и какие шаги я могу предпринять, чтобы исправить это? Функция mongo вызывается в цикле 'for', который проходит через все мои продукты/объекты, у меня есть' process.setMaxListeners (0); 'но не знаю, что еще попробовать/где я столкнулся с проблемой. – Jascination
Откуда берутся данные? Вот где я подозреваю, что это узкое место. Но вы также можете подумать о том, сколько одновременных операций вставки, которыми может управлять ваш монгод, и, возможно, дросселировать ваши вставки соответственно.Трудно спекулировать дальше, не имея более конкретных данных о вашей ситуации. –
Я вижу. Данные поступают из веб-скребка, так что это, скорее всего, узкое место! Я просто хотел посмотреть, можно ли улучшить фактическую запись в БД, но похоже, что Монго так же быстро, как я могу это сделать. Приветствую вас за помощь. – Jascination