我一直在一个新项目中使用它,但这也是我第一次使用MongoDB.定义模式似乎没有必要,因为我认为mongo的优势在于它不需要定义的模式.无论模式如何,我都不能动态保存对象吗?那我为什么要这么做?此外,还缺少文档,这使得我可以在mongo shell中轻松完成的一些事情变得更加困难.

推荐答案

Mongoose for MongoDB最好的一点是,您可以对插入/更新的数据进行内置的自动验证.Mongoose还可以预先定义要发生的事件,比如在保存文档之前.这是非常强大的,因为它整合了您必须编写的代码,并将代码放在文档逻辑旁边,而不是应用程序逻辑中.

查看middleware和验证中的一些示例.

Mongodb相关问答推荐

如何拉平mongo DB中的对象并在根目录中保存时有条件地重命名字段?

没有文档的MongoDB集合中的不一致,但当我执行count()时,它告诉我有15个文档

聚合 $accumulator + $project

MongoDB 到 Snowflake 连续加载

如何在 mongodb 中设置整数的默认值?

MongoDB展开多个数组

如何将 mongoDB 数据导出为 CSV 格式?

mongodb-nodejs-driver,DeprecationWarning:collection.count 已弃用

有没有办法为 mongoose.js 聚合提供 allowDiskUse 选项?

如何从 node.js 以编程方式执行 mongodump 命令?

错误:Could not connect to any servers in your MongoDB Atlas cluster

有人在 Google App Engine 上try 过 MongoDB 吗?

Mongodb 设计,嵌入与关系

从 nodejs 到 mongodb 或 mongoose 的动态数据库连接

停止副本集 MongoDB

是否可以在 Mongodb 中的两个数据库之间进行 $lookup 聚合?

Mongoose 为所有嵌套对象添加 _id

为什么 Mongo 提示会使查询运行速度提高 10 倍?

Mongo 条件为key doesn't exist?

无法从 mongodb 中删除集合