【问题标题】:Mongoose connected to mongoDB but have not initialized the databaseMongoose 连接到 mongoDB 但尚未初始化数据库
【发布时间】:2020-04-27 12:33:29
【问题描述】:

我的连接代码:

const mongoose = require("mongoose");

//ES6 Promise
mongoose.Promise = global.Promise;

//connect to mongoDB
mongoose.connect("mongodb://localhost/smslist", {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

mongoose.connection
  .once("open", function () {
    console.log("Connected to database successfuly");
  })
  .on("error", function (error) {
    console.log(`DB Connection error:`, error);
  });

mongod server终端显示连接成功l

2020-04-27T15:35:24.500+0300 I  NETWORK  [listener] connection accepted from 127.0.0.1:61286 #1 (1 connection now open)
2020-04-27T15:35:24.506+0300 I  NETWORK  [conn1] received client metadata from 127.0.0.1:61286 conn1: { driver: { name: "nodejs|Mongoose", version: "3.5.6" }, os: { type: "Windows_NT", name: "win32", architecture: "x64", version: "10.0.18362" }, platform: "'Node.js v12.16.2, LE (unified)", version: "3.5.6|5.9.10" }

节点终端也打印

Connected to database successfuly

但是当我尝试使用像 robomongo/studio 3t/mongodb compass community 这样的 mongoDB UI 时,我不会像预期的那样看到名为 smslist 的数据库。 我还意识到,如果我关闭数据库服务器终端,节点终端仍然显示连接到数据库成功而不是DB Connection error:,如预期的错误。

有什么想法吗?

【问题讨论】:

  • 这可能是因为您没有在该数据库中创建新文档。我怀疑 mongo 工作室是否显示空白数据库。您可以尝试在其中创建一个文档吗?

标签: node.js database mongodb mongoose connection


【解决方案1】:

如果你还没有在这个“smslist”数据库中创建任何模型,那么你看不到任何关于这个的东西

你需要为这个“smslist”数据库创建一些模型,然后你可以在你的数据库中看到它。

【讨论】:

  • 我已尝试运行此代码: const People = require("./peopleSchema"); const saveToDB = function (name, phone) { let user = new People({ name: name, phone: phone, });用户.save(); }; saveToDB("test", "123456");我仍然没有看到任何数据库
  • 你能再澄清一下吗? ` `
  • 我已经导入了一个模型并编写了一个代码来保存一个名为“terst”的用户和数字“123456”。现在我正在运行这个代码,“node savetodb.js”。没有显示错误,但我没有看到任何数据库
  • @Theprocodernotreallyxd 您尝试将所有这些添加到下面连接 mongodb 的文件中。我想你忘记了 import mongoose。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-03
  • 2011-07-22
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多