卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章78918本站已运行4410

MongoDB 与 Mongoose:了解它们的角色和差异

mongodb 与 mongoose:了解它们的角色和差异

mongoosemongodb 都是 javascript 中处理数据库不可或缺的一部分,但它们有不同的用途:

1.mongodb

  • 类型:nosql 数据库。
  • 角色:mongodb 是一个数据库管理系统 (dbms),它以灵活的、类似 json 的文档(bson 格式)存储数据。它提供与数据交互的核心功能,例如存储、检索和更新文档。
  • 用例:直接用于存储和管理不需要固定模式的大型数据集。

示例:

   db.collection('users').find({ name: 'john' })

2. 猫鼬

  • 类型:mongodb 的 odm(对象数据建模)库。
  • 角色:mongoose 是 mongodb 之上的更高级别的抽象。它提供了一个基于模式的解决方案来对应用程序数据进行建模,提供结构、验证和查询构建机制。
  • 用例:当您想要在数据上强加结构(模式)并强制验证时,这是理想的选择。

示例:

   const userSchema = new mongoose.Schema({
     name: String,
     age: Number,
   });
   const User = mongoose.model('User', userSchema);
   User.find({ name: 'John' });

主要区别:

  • 模式执行:mongodb 本身是无模式的,而 mongoose 允许您定义模式,为您的数据提供结构。
  • 抽象:mongodb 查询更加底层,而 mongoose 提供了更加用户友好的 api,具有中间件、钩子等功能,以及更强大的查询功能。
  • 验证:mongoose 支持内置的数据验证,可以更轻松地保持一致的数据完整性。

总而言之,mongodb 本身就是数据库,而 mongoose 是与 mongodb 交互的工具,为模式管理和验证提供附加功能。

卓越飞翔博客
上一篇: JavaScript 中的临时死区 (TDZ) 和提升:
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏