Итак, другой причиной, почему вы можете получить эту ошибку, является то, что вы используете одну и ту же модель в разных файлах, но ваш путь require
имеет другой случай. Например, в моей ситуации у меня было:
require('./models/User')
в одном файле, а затем в другом файле, где мне нужен доступ к модели User, у меня был require('./models/user')
.
Я предполагаю, что искать модули и amp; mongoose рассматривает его как другой файл. Как только я убедился, что дело соответствовало, это уже не проблема.
Было бы здорово иметь пример Minimal, Complete и Verifiable https://stackoverflow.com/help/mcve , но я дам возможное решение проблемы, с которой столкнулся: как слушать для нескольких сокетов и обрабатывать их сообщения одновременно.
Вы можете запустить один поток для каждого нужного сокета, этот поток чтения прочитает все сообщение и отправит его в список безопасного потока в другом потоке, который я назову поток обработки. Этот последний поток будет применять вашу бизнес-логику к данным, считываемым вашим сокетом, генерировать ответ и отправлять его в другой поток: поток писателя.
Socker -> Readers -> Processor -> Writer
Не запускайте ваши потоки, как в методах Thread3 и Thread2, это требует слишком много ЦП и может замедлить ваше размещение. Заранее создайте темы и начните в соответствующем порядке.