node.js - Mongoose 中的集合名称

标签 node.js mongodb mongoose

为什么名为“blog”的数据库不允许插入记录并且不会返回错误,为什么名为“blogs”的数据库允许插入记录并返回错误?

<小时/>

我花了几个小时检查所有代码,认为我做错了什么。我已经编写了许多 Mongoose 连接的应用程序,但是当使用以下内容时,它会返回成功,但不会插入记录,并且不会返回任何错误,说明原因:

mongooose.connect('mongodb://localhost:27017/blog');

在用头撞墙一段时间后,我决定更改数据库名称:

mongooose.connect('mongodb://localhost:27017/blogs');

它有效!但为什么这个命名约定很重要呢?我在 MongoDB 的文档中找不到任何内容或Mongoosejs .

最佳答案

所以我相当确定 mongodb 不关心数据库名称“blog”与“blogs”。但是,请注意, Mongoose 具有一个可疑的有用功能,即在数据库连接尚未建立时默默地排队操作,然后在数据库连接准备就绪时将其关闭。这可能会让你感到困惑。要测试该理论,请将回调传递给 mongoose.connect 并将 console.log 放入回调中,以便您准确知道连接何时准备就绪。

关于node.js - Mongoose 中的集合名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18219186/

相关文章:

javascript - 如何在 Node JS 中获取对象的类名

c# - MongoDb c# 驱动程序 - UseSsl = true。尝试读取超过流末尾的内容

django - 在安装 Django-nonrel 之前是否需要卸载 Django 1.3?

javascript - 如何在一个数组 Mongoose 中存储不同的子文档?

javascript - Mongoose 或 Query 不返回任何内容

javascript - 快速错误处理和异步等待

node.js - 在nodejs中使用路径变量和nodejs中的查询值

node.js - 使用 Node.js 和 TypeScript 的正确方法是什么?

javascript - 过期后设置字段(MongoDB)

node.js - Mongoose,如何在现有 JSON 文档中将元素附加到数组