#mongodb #ide
#mongodb #ide
Вопрос:
Для контекста: я создаю веб-сайт в html ejs mongoose, который я создал локально на своем компьютере. Поскольку я хочу видеть веб-сайт, работающий на другом устройстве, кроме моего локального компьютера, я загрузил файлы на GitHub, а затем клонировал его в интерактивную среду IDE, в данном случае GoormIDE, для этого.
Как было сказано в заголовке выше, я не могу запустить mongod в контейнере, даже если я включил MongoDB в настройке контейнера. Я создал файл mongod, который запускает код mongod --nojournal
, чтобы у меня не было файлов журнала в моем каталоге. Я продолжал получать этот код ошибки:
2020-12-27T05:24:49.128 0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] MongoDB starting : pid=802 port=27017 dbpath=/data/db 64-bit host=goorm
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] db version v4.0.22
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] git version: 1741806fb46c161a1d42870f6e98f5100d196315
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.1.1 11 Sep 2018
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] allocator: tcmalloc
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] modules: none
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] build environment:
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] distmod: ubuntu1804
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] distarch: x86_64
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] target_arch: x86_64
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] 1024 MB of memory available to the process out of 7771 MB total system memory
2020-12-27T05:24:49.135 0000 I CONTROL [initandlisten] options: { storage: { journal: { enabled: false } } }
2020-12-27T05:24:49.135 0000 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found. Create the missing directory or specify another path using (1) the --dbpath command line option, or (2) by adding the 'storage.dbPath' option in the configuration file., terminating
2020-12-27T05:24:49.136 0000 I REPL [initandlisten] Stepping down the ReplicationCoordinator for shutdown, waitTime: 10000ms
2020-12-27T05:24:49.136 0000 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2020-12-27T05:24:49.136 0000 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2020-12-27T05:24:49.136 0000 I NETWORK [initandlisten] Shutting down the global connection pool
2020-12-27T05:24:49.136 0000 I - [initandlisten] Killing all operations for shutdown
2020-12-27T05:24:49.136 0000 I NETWORK [initandlisten] Shutting down the ReplicaSetMonitor
2020-12-27T05:24:49.136 0000 I CONTROL [initandlisten] Shutting down free monitoring
2020-12-27T05:24:49.136 0000 I FTDC [initandlisten] Shutting down full-time data capture
2020-12-27T05:24:49.136 0000 I STORAGE [initandlisten] Shutting down the HealthLog
2020-12-27T05:24:49.136 0000 I - [initandlisten] Dropping the scope cache for shutdown
2020-12-27T05:24:49.136 0000 I CONTROL [initandlisten] now exiting
2020-12-27T05:24:49.136 0000 I CONTROL [initandlisten] shutting down with code:100
Из-за этого я не могу запустить веб-сайт, потому что для запуска сервера ему нужен MongoDB / mongoose.
Похоже, что в mongod / MongoDB нет каталога данных. Есть идеи?
Ответ №1:
Я уже нашел ответ, ребята!
Мне просто нужно поставить -dbpath ./data/db
после mongod
При этом я создал каталог data / db, в котором я буду хранить все данные из MongoDB.
итак, теперь я отредактировал созданный мной файл с именем «mongod» с помощью: mongod --nojournal -dbpath ./data/db
и все снова работает. Я чувствую себя довольно глупо, не зная этого, но я надеюсь, что никогда больше не повторю эту ошибку.