查看Mongoose ODM 文档,它并没有真正说明它们是什么ObjectId's
以及如何使用它们。我认为它类似于 MongoDB 中的外键?
如果是这样,嵌入式文档似乎可以达到相同的目的,我什么时候使用哪个?
查看Mongoose ODM 文档,它并没有真正说明它们是什么ObjectId's
以及如何使用它们。我认为它类似于 MongoDB 中的外键?
如果是这样,嵌入式文档似乎可以达到相同的目的,我什么时候使用哪个?
阅读 MongoDB 文档或快速 MongoDB 介绍(例如The Little MongoDB Book(它是免费的))以了解有关 MongoDB 概念的一些背景知识是非常值得的。
要回答您的问题:
ObjectID是一个唯一的 12 字节标识符,可以由 MongoDB 作为_id
集合的主键 ( ) 生成。ObjectID有一个规范。
DBRef(数据库引用)是引用另一个集合中的对象的 ObjectID 。DBRef 确实需要另一个查询来获取相关对象,并且是客户端驱动程序而不是 MongoDB 服务器支持的约定。Mongoid 等价物称为引用关系。
MongoDB 中的数据建模和模式设计方法与关系数据库非常不同。(有意)没有连接或外键,但面向文档的方法允许在单个文档中存储和获取大量相关数据。根据您计划查询和更新数据的方式,嵌入或链接可能是更合适的选择。MongoDB wiki 上的模式设计页面有一些帮助您入门的有用技巧。