我是mongodb的超级新手.我正在使用mongoose从 node 访问mongodb.js,知道如何让事情运转起来,但我不明白为什么它会如此运转.

最重要的是,我不明白为什么mongoose有"模式",而mongodb的一个突出特点是它没有模式.有人能启发我吗?非常感谢.

推荐答案

没有模式的数据是无用的.如果你从MongoDB得到一份文件,你会怎么处理?读一些字段?你需要知道这些字段的名称、类型和含义.这是一个模式.

当人们说MongoDB"没有模式"时,他们的真正意思是它没有像SQL数据库那样强制实施模式.MongoDB将模式问题提升到应用程序级别,您可以更灵活地处理它们.例如,为了向文档中添加一个新字段,您不需要对集合中可能有数百万条条目执行全部或不执行任何操作.您只需将该字段添加到ODM(Mongoose)模式中,就完成了.

Mongodb相关问答推荐

在一个视图中连接两个集合MongoDB;展开有什么作用?

Go mongo-驱动程序测试,FindOne未根据给定的筛选器返回正确结果

Mongo 将一个数组链接到另一个数组

多键索引,性能问题

mongo如何通过聚合加载嵌套文档

在MongoDb的数组中计算大于某个数字的数字

从嵌套数组中 id 匹配的另一个集合中获取所有字段

实现 twitter 和 facebook 之类的主题标签

Mongo查询子文档的多个字段

更新 mongoengine 中的嵌入文档列表

在 Mongoose 中清理用户输入

Node.js 和 Passport 对象没有方法 validPassword

使用 nodejs/mongoose 部分更新子文档

Mongoose.js 通过一个 connect() 调用创建到 MongoDB 的多个连接

Ruby 按键值分组哈希

在 mongodb 聚合框架中执行 case-statement

Mongo:无法在 src/mongo/shell/mongo.js:145 连接到服务器 127.0.0.1:27017

MongoError: The dollar ($) prefixed field '$push' in '$push' is not valid for storage

Mongodb - 如何在多个字段中查找字符串?

brew install mongodb 错误:Cowardly refusing to `sudo brew install' Mac OSX Lion