如何在 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));
连接到 mongoose 会返回一个 promise (connect()
函数)。您需要等待此问题解决才能继续。这就是为什么您将 .then
链接到 connect()
函数而不是 mongoose 变量上的原因,因为 mongoose 变量本身不是一个 promise 。底部的代码根本不会等待连接发生,也不会根据 Promise 调用 .then
。
如果您对 .then
和 .catch
函数的具体用途感到困惑,请阅读此处有关 Promise 的更多信息:Promise和 Promise chaining (MDN)
我是一名优秀的程序员,十分优秀!