【发布时间】:2011-07-07 11:34:11
【问题描述】:
我是 MongoDB 新手,请多多包涵。
我有两个问题:
首先,采取以下措施:
// add a record
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
MongoDB 是否将“标题”和“作者”存储为该集合中该对象的每个条目的文本?还是它会创建一个模式并将这些转换为字段编号(或根本不存储数据并仅存储数据)?
我的第二个问题是:什么时候应该使用“关系”?假设我有 100 个经销商,每个经销商包含(对象)1,000 个客户,每个客户有 10 个项目。这样就可以操纵一个巨大的整体对象。
在 SQL 世界中,这都是相关的“对象”。在 Document 世界中,我们尝试通过嵌入子对象来存储完整的对象。
但是,这可能很笨拙。对此的最佳做法是什么?有人可以指点我的指导方针吗?
谢谢。
【问题讨论】:
-
是的,
title和author以文本形式存储在数据库中。根据您使用的语言/驱动程序/包装器,这通常可以重新映射,以便该字段在数据库中为t,但在从您的对象访问时为title。从关系的角度来看,您通常会发现您必须针对“某事”进行优化。没有单一的“最佳方式”。 -
下次请将您的问题拆分为单独的 stackoverflow 问题。
标签: database-design mongodb document-database