当 mongodb 的好处应该是无模式时,为什么 mongoose 使用模式?

2024-01-19

我是 mongodb 的超级新手。我正在使用 mongoose 从 node.js 访问 mongodb,并且知道如何让事情正常工作,但我认为我不明白为什么它会这样工作。

最重要的是,我不明白为什么 mongoose 有“模式”,而 mongodb 的突出特点之一是它没有模式。有人可以启发我吗?谢谢。


没有模式的数据是无用的。你从 MongoDB 获得一份文档,你用它做什么?阅读一些字段?您需要知道这些字段的名称、类型和含义。这是一个模式。

当人们说 MongoDB“没有模式”时,他们的真正意思是它不像 SQL 数据库那样强制模式。 MongoDB 将架构问题提升到您的应用程序级别,您可以在其中更灵活地处理它们。例如,为了向文档添加新字段,您不需要执行全有或全无的操作ALTER在您的收藏中——可能有数百万个条目。您只需将该字段添加到 ODM (Mongoose) 架构中即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 mongodb 的好处应该是无模式时,为什么 mongoose 使用模式? 的相关文章

  • 为什么 npm install 失败并出现与 node-sass 相关的错误?

    我正在使用我继承的 Rails 应用程序 我正在尝试运行npm install命令但我不断收到errors以下 我尝试跑步npm rebuild node sass正如输出中所建议的 但它没有帮助 我遇到这个问题乌班图16也OS X gt
  • JS 无法查询 MySQL 数据库。错误:connection.query 不是函数

    尝试查询我的 mySQL 数据库 但我不能 因为我得到了TypeError connection query is not a function错误 有谁知道为什么吗 我不知道为什么会发生这种情况 数据库 js const fs requi
  • 如何使用PNGJS库从rgb矩阵创建png?

    我无法从此处的文档创建 PNG 文件 编码 https github com niegowski node pngjs https github com niegowski node pngjs 该文档提供了有关操作现有 PNG 的示例 为
  • socket.io 切换命名空间

    我目前正在与 socket io 进行简单的聊天 基础知识已经可以工作 但现在我正在尝试实现 2 个不同的命名空间 我希望客户端能够通过单击按钮从一个命名空间 支持聊天 切换到另一个命名空间 朋友聊天 服务器端 default namesp
  • 将 mongoid 会话设置为只读

    我有不同的会话mongoid yml 其中一个会话提供来自静态 mongo 数据库的数据 我想知道是否有可能以只读模式 加载 会话 以便不进行任何更改save create destroy or destroy all可以制作 我的mong
  • 如何在聚合框架中按位置修改数组中的值

    假设有一个简单的文档 array a b c d 如何修改second值在聚合 With update这很简单 db collection updateOne set array 1 B gives array a B c d 在聚合框架中
  • 使用 MongoDB PHP 驱动程序时的安全问题

    我有在 MYSQL 上保护 sql 注入的经验 但是在使用 php 驱动程序的 MongoDB 上我应该注意什么 在大多数页面中 我通过 GET POST 和搜索 插入系统获取数据 我通过 UDID 其他字段进行搜索 并且可以插入任何字符串
  • +process 中的加号是 Node.js 域文档中的拼写错误吗?

    在本文档中 http nodejs org api domain html http nodejs org api domain html 这一行出现 var PORT process env PORT 1337 加号是拼写错误吗 如果不是
  • MongoDB db.collection.count() 与 db.collection.find().length()

    我想了解为什么这些命令在从mongos针对相同 MongoDB 集合的实例 返回不同的数字 db users count db users find length 原因是什么 这可能是潜在问题的征兆吗 我相信你的收藏已经被碎片化了 大多数分
  • bean 实例化失败:指定的类是一个接口

    我在创建用于依赖注入的 bean 时遇到问题 这是场景 我正在处理 MongoDB 存储库 我还创建了一个使用它的类 我正在尝试实例化两者的 bean 实例 MongoDB 存储库 Repository public interface P
  • npm 命令未在请求中发送授权令牌 - 无法进行身份验证

    当我发出 npm 命令时遇到此问题 我收到一条消息 指出它无法通过 npm 注册表 托管在 Azure DevOps 中 进行身份验证 我怀疑这可能是因为它没有生成授权标头并发送它连同请求 例如 当我发出这些命令时 npm ping or
  • 在原子操作中测试和递减?

    我刚刚发现了一个恼人的错误 它基本上是一个竞争条件 为了便于论证 我们假设一个非常简单的文档结构 例如 id XXX amount 100 集合中存在数百个这样的文档 并且由多个编写器访问 这些编写器有效地尝试将数量降低任何值 但绝不会低于
  • Node.js 连接 createServer 代码

    我正在阅读 Node js Connect 版本 2 15 0 Create a new connect server return Function api public function createServer function ap
  • 如何使用 Mongodb C# 驱动程序连接多个集合

    我需要将 3 个集合与多个集合合并在一起 lookup我在 C 驱动程序中尝试过 它允许我 lookup用户采集但无法执行秒 lookup用于设置集合 有人可以帮忙吗 db Transactions aggregate lookup fro
  • Electron Auth0Lock“原始文件://不允许”

    尝试让 auth0 与我的电子应用程序一起使用 当我按照默认教程并尝试使用用户名 密码 身份验证进行身份验证时 锁定失败并显示 403 错误 并响应 不允许使用 Origin file 我还在 auth0 仪表板中客户端设置的允许来源 CO
  • 如何在 ionic 应用程序中使用 socket.io

    我正在使用 ionic 创建一个应用程序cordova and angular 我必须使用 IP 地址和端口号发出请求 到插座 我读过有关 socket io 的内容 我对如何安装感到困惑套接字 io以及如何与 Angular JS 和 N
  • 如何在node.js中找到两个地理点之间的距离?

    如何使用 node js 查找两个地理点 经度和经度的集合 之间的距离 我有使用谷歌地图距离矩阵服务的客户端 JavaScript 代码 我想在服务器端javascript中做同样的事情 在node js router js或datamod
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • 通过条件将 Firebase 云消息传递 (FCM) 发送到多个主题的正确语法是什么

    简而言之 我想使用 Google Cloud Functions 向订阅主题组合的设备发送通知 文档说 主题中的 TopicA 主题中的 TopicB 主题中的 TopicC 我试图做的是 var topicsConditions type
  • 打字稿不适用于 tsconfig.json

    在项目中使用 tsconfig 运行 tsc watch 时 出现以下错误 它需要 Node js 中的 React 和 Redux 类型 error TS2688 Cannot find type definition file for

随机推荐

  • 在编译过程中如何查看解析树、中间代码、优化代码和汇编代码?

    我正在学习编译器课程 程序的编译遵循以下步骤 词法分析 语法分析 语义分析 中间代码生成 代码优化 目标代码生成 如何查看每个步骤的输出 例如我想在语法分析后查看解析树 我正在使用 GCC 编译器在 Linux 机器上编译程序 我们可以使用
  • Gitlab-CI 中的上游触发(又名管道依赖项)

    我似乎无法从这样的工具中找到最明显的 CI 功能 在另一个项目的管道完成后运行项目管道 你可以这样做trigger但仅适用于下游触发 这与您想要的相反 如果您有一个项目是 20 个其他项目的核心依赖项 而这些项目都需要重建 在这种情况下 您
  • 如何在 python 上解决 TISE 的简单边值问题

    我正在尝试求解无限势阱的 TISEV 0在间隔上 0 L 这个练习给我们提供了波函数及其导数的值0 is 0 1分别 这使我们能够使用scipy integrate odeint函数来解决给定能量值的问题 现在的任务是在给定波函数的进一步边
  • “The fi bug” 一个奇怪的 iOS 7 归因文本错误

    我在 iOS 7 中遇到了一个奇怪的错误 我称之为 fi bug 抽象的 两个字符 fi 被视为一个字符 解释 我创建了一个 UILabel 其中包含一个单词 作为属性文本 我创建了一个函数 单击时会将单词的一个字符着色为蓝色 即首先单击它
  • LR(0) 解析器如何离开状态 0?

    我已经阅读了维基百科的解释至少十几次 但我仍然对 LR 0 解析器如何离开状态 0 感到困惑 维基百科的例子及其解释说 http en wikipedia org wiki LR parser Parsing Steps 解析器从仅包含初始
  • 如何在java中找到像2^(10^9)这样的数字的幂[重复]

    这个问题在这里已经有答案了 Math pow 返回一个 double 值并且只接受 int 作为参数 BigInteger 作为没有查找 BigInteger BigInteger 的函数 通过循环来完成它需要很长时间 我还有什么想念的吗
  • toggleClass() 在 Angular 4 中不起作用

    我已经添加jQuery在脚本中并使用 import as from jquery 以及 我还添加了jQuery在 HTML 文件中 But my toggleClass 功能不起作用 当我检查控制台时 没有显示任何错误 它只是空的 下面是我
  • Xamarin 表单:可以在内容页上以编程方式在 Shell 应用程序中添加选项卡

    我通过谷歌查找但找不到结果 我有一个 Shell 设置 Xamarin 表单应用程序 尽管我没有完全使用它的功能 但 xaml 文件中有一个选项卡设置 我想知道我是否可以在 shellContent 下托管一个内容页面并从 contentP
  • 一次使用共享内存的多个实例

    为了在记录程序和显示程序 不能相同 之间传输视频流 我使用共享内存 为了同步访问 我组合了一个类 它包装了一个shared memory object 一个mapped region和一个interprocess sharable mute
  • Javascript“addEventListener”事件在页面加载时触发[重复]

    这个问题在这里已经有答案了 当我运行以下脚本时 该事件始终在页面加载时触发 我不确定我在这里做错了什么 我创建了元素 在 DOM 中找到它 然后附加一个侦听器 但它总是在页面加载时触发事件 而不是在单击元素时触发事件
  • Haskell 中附加词的用例

    我一直在阅读附加语 https en wikipedia org wiki Adjoint functors在过去的几天里 当我开始从理论角度理解它们的重要性时 我想知道人们如何以及为什么在 Haskell 中使用它们 Data Funct
  • Python 在正则表达式中将 f 字符串与 r 字符串和大括号组合

    给定一个单词 x 返回可以在该单词中找到的可能的 n 元语法 您可以根据需要修改n gram值 它位于 pat 变量的花括号中 默认 n 元语法值为 4 例如 对于单词 x x abcdef 可能的 4 克是 abcd bcde cdef
  • 在 AWS Beanstalk 或 EC2 实例中设置 Django 并支持 GeoDjango

    因此 我曾一度使用 Amazon Instance 2013 09 ami 35792c5c 通过 Beanstalk 进行此操作 当时 将此 ebextension 脚本放置在 ebextensions 中的存储库根目录中时效果非常好 0
  • 如何为 JavaScript Set 自定义对象相等性

    新ES 6 Harmony 推出新Set https developer mozilla org en US docs Web JavaScript Reference Global Objects Set目的 Set 使用的恒等算法类似于
  • 有用的替代控制结构?

    有时 当我编程时 我发现某些特定的控制结构对我非常有用 但在我的编程语言中不能直接使用 我认为我最常见的愿望是 短暂的一段时间 我不知道实际上该怎么称呼它 foo split while condition bar 这段代码的语义是foo
  • 将初始化数据传递给 Angular 2

    有谁知道如何将初始化数据传递到使用 Angular CLI 构建的 Angular 2 应用程序中 我需要传递当前从预先验证的 NET 后端获得的访问令牌 以便我可以调用 API 我尝试通过本地 Web api 端点执行此操作 但由于 Ob
  • 如何使用 package.json 脚本复制具有特定文件扩展名的文件

    我正在尝试将 npm 作为构建工具 我遇到的一个障碍是我需要将 javascript 文件从一个文件夹复制到另一个文件夹 源文件夹包含打字稿文件 javascript 文件和地图文件 但在目标文件夹中我只对 javascript 文件感兴趣
  • 如何使用反射调用 Scala 对象方法?

    说 我有以下内容 trait SomeTrait def someMethod String object SomeObject extends SomeTrait def someMethod something 我想使用反射调用 som
  • 初始化列表上的 ArgumentOutOfRangeException

    它在 For 循环中间抛出 ArgumentOutOfRangeException 请注意我删除了 for 循环的其余部分 for int i 0 i lt CurrentUser Course ID Count 1 i CurrentUs
  • 当 mongodb 的好处应该是无模式时,为什么 mongoose 使用模式?

    我是 mongodb 的超级新手 我正在使用 mongoose 从 node js 访问 mongodb 并且知道如何让事情正常工作 但我认为我不明白为什么它会这样工作 最重要的是 我不明白为什么 mongoose 有 模式 而 mongo