当前位置: 首页 > 知识库问答 >
问题:

MongoDB文档,一对多的例子,为什么引用不一样?

公孙新觉
2023-03-14

MongoDB文档显示了一对多关系的示例...

(缩写...)

用文档引用建模一对多关系

 // Publisher.
 {
    _id: "oreilly",
    name: "O'Reilly Media",
 }

 // Book.
 {
    _id: 123456789,
    title: "MongoDB: The Definitive Guide",
    publisher_id: "oreilly"
 }

 // Book.
 {
    _id: 234567890,
    title: "50 Tips and Tricks for MongoDB Developer",
    publisher_id: "oreilly"
 }

共有1个答案

孟宏才
2023-03-14

不是所有的ID都是生成的值吗?

MongoDB仅在用户未提供ID时才自动生成ID。

在MongoDB中,有时使用数据本身作为唯一键,有时不作为唯一键是常规的吗?

如果是,我们什么时候使用普通的名字(“玛丽”、“乔”、“埃克森”),什么时候更喜欢生成的值?

当没有唯一标识文档的参数(或参数组)时,我们更喜欢generated ID。例如,使用一个人的名字将不起作用,因为可能会出现添加同名的另一个人的情况。然而,考虑一本书的ISBN号码,它唯一地标识了一本书。这样的参数可以用作_id。

附加说明:

    null
 类似资料:
  • 问题内容: 我已经看到人们使用多对一映射来表示一对一关系。我也在加文·金(Gavin King)的书和文章中阅读了此内容。 例如,如果一个客户可以只有一个送货地址,而一个送货地址只能属于一个顾客,则映射为: 这本书的原因是(引用): “您不在乎关联目标方面的内容,因此您可以将其视为 一对一的 关联,而无需涉及 很多 部分。” 我的问题是,为什么不使用?什么使a成为不那么理想的选择? 谢谢。 问题答

  • 蒙戈 从这一资源中,我理解了为什么mongo不是基于以下陈述的 MongoDB支持“单主”模型。这意味着您有一个主节点和多个从节点。如果主人倒台,其中一个奴隶被选为主人。这个过程会自动进行,但需要时间,通常为10-40秒。在新领导人选举期间,您的副本集已关闭,无法进行写入 是否出于同样的原因,Mongo被称为(因为写入没有发生,所以返回系统中的最新数据),但不是(不适用于写入)? 在重新选择和写入

  • 问题内容: 我正在向我的朋友解释OOP。我无法回答这个问题。(我有多可耻? 我只是想逃避,因为OOP描绘了现实世界。在现实世界中,父母可以容纳孩子,但孩子不能容纳父母。OOP也是如此。我知道它很愚蠢。:P 为什么此陈述无效? 因为aChild的成员是aParent成员的超集。那为什么孩子不能容纳父母。 问题答案: 正是因为aChild是aParent功能的超集。你可以写: 因为每只狐狸都是动物。但

  • 问题内容: 我一直都在看:声明的对象常量使某些键用引号引起来,而另一些则没有。jQuery 1.4.2中的示例: **用引号 将前两个属性键(和 ) 包裹 起来,而其他两个都不用引号引起来的意义是什么? 有什么区别吗? 我一直在摸索ECMAScript 5规范;我所能找到的只是[ 15.12.3节的注6,重点是我的 ]: 注6:一个对象呈现为左括号,后跟零个或多个属性,以逗号分隔,右括号封闭。 属

  • 考虑类家长: 和类儿童: 如果我在应用程序中创建一个新的子对象,并将其放入父对象的children字段中,然后持久化父对象,为什么Hibernate不自动更新子对象的Parent字段(以便设置parentID列)?

  • 我有一个结构如下的文档,有两种类型的子文档。第二个子文档指的是一些第一个子文档,但不是全部 这里的“答案文本”需要链接到多个问题,因为一个答案可以对多个问题有效。 在答案模式中,我应该如何存储问题。我不想再次存储问题对象数据,因为它将是重复的数据,并且如果一些问题被修改,那么它需要在问题中被修改回答子文档。所以基本上我想存储问题的_id回答。 猫鼬中回答模式的语法是什么?目前我有空数组,但不确定这