Синтаксис для подключения к мангусте - PullRequest
0 голосов
/ 15 сентября 2018

Как можно вызвать несколько функций для переменной mongoose? Разве moogoose не должен вызываться повторно и вызываться соответствующим образом?

Рабочий код:

//Import
const express = require("express");
const mongoose = require("mongoose");

//initialize a variable called app to express
const app = express();
// DB Config
const db = require("./config/keys").mongoURI;
// Connect to MongoDB
mongoose
  .connect(db)
  .then(() => console.log("MongoDB connected"))
  .catch(err => console.log(err));

То, что я думал, должно быть:

// Connect to MongoDB
mongoose.connect(db)
mongoose.then(() => console.log("MongoDB connected"))
mongoose.catch(err => console.log(err));

1 Ответ

0 голосов
/ 15 сентября 2018

Подключение к mongoose возвращает обещание (функция connect()). Вам нужно подождать, пока это не решится, прежде чем вы сможете продолжить. Вот почему вы связываете .then в функции connect(), а не в переменной mongoose, поскольку сама переменная mongoose не является обещанием. Нижняя часть кода вообще не ждет, когда произойдет соединение, и не вызывает .then для обещания.

Если вы не уверены в том, что функции .then и .catch в точности читают подробнее об обещаниях здесь: Обещание и Цепочка обещаний (MDN)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...