Могу ли я использовать некоторые сценарии, чтобы сделать развертывание в mongoose db более удобным? - PullRequest
0 голосов
/ 03 января 2019

Я супер n00b при настройке серверов - просто изучаю фоновые вещи прямо сейчас, поэтому мне трудно найти решения, потому что мой технический язык отсутствует - заранее прошу прощения за вопрос n00b.

Я сопровождаю мультимедийное видео Traversy, чтобы попытаться немного больше узнать о настройке сервера и использовании базы данных для хранения и извлечения данных.В видео используется mongoose / mongodb - у меня есть только небольшой опыт использования postgreSQL, и я даже близко не разбираюсь в этом, так что концептуально это все еще довольно незнакомо.

Я обнаружил, что очень скучно открывать три окна терминала, чтобы мой проект работал правильно.Я использую mongoose v5.4.2, express v4.16.4 и (хотя я сомневаюсь, что это актуально), я использую express-handlebars v3.0.0 в самой последней версии macOS (10.14.2) (используя собственный терминал).

В моем package.json у меня нет сценариев.

Чего я пытаюсь избежать: мне нужно открыть несколько вкладок терминала и запустить демон mongo (cmd: mongod),затем запустить клиент Монго на отдельной вкладке (cmd: mongo).Я новичок, но, похоже, было бы неплохо иметь некоторые базовые сценарии, чтобы избавить меня от необходимости делать это каждый раз, когда я открываю проект или изменяю вещи.

Мой app.js (который является точкой входа в мой проект) имеет следующий код для импорта и запуска mongoose:

const express = require('express')
const exphbs = require('express-handlebars')
const mongoose = require('mongoose')

const app = express()

mongoose.Promise = global.Promise

// Connect to Mongoose
mongoose.connect('mongodb://localhost/vidjot-dev', { useNewUrlParser: true } )
  .then(() => console.log('MongoDB Connected'))
  .catch(err => console.log(err))

Я проверил, что мой проект выполняется на указаннойпорт (3000 для моего проекта), и я могу запустить свою базу данных mongoose - но только если я запускаю демон mongo, а затем клиент mongoose.

Прошу прощения за отсутствие конкретики / технической корректности в моем языке - яЯ очень новичок в этом деле.Я надеюсь, что я предоставил достаточно информации, но отредактировал пост, чтобы предоставить что-то, что кто-либо еще посчитает уместным.Я использовал управляемую версию, чтобы опубликовать это, так что я думаю, что ударил всю необходимую / ожидаемую информацию.

1 Ответ

0 голосов
/ 04 января 2019

Я не совсем уверен, но это может работать до некоторой степени.Добавьте приведенный ниже скрипт в ваш файл package.json.

"scripts": {
  "prestart": "start mongod --config ./data/mongod.cfg",
  "start": "node ./server/bin/www",
  "poststart": "start mongo admin --eval \"db.getSiblingDB('admin').shutdownServer()\"",
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...