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

多对多关系查询是如何工作的?

郭逸清
2023-03-14

我正在读MongoDB在行动这本书。我有一个关于第4章:面向文档的数据的问题。

第58页中,该书给出了一个多对多关系的示例。它给出了product文档和category文档。

我理解这里的多对多关联。基本上,product可以有一个带有category_id等数组的键。所以我不想问类似MongoDB多对多关联的问题

我的问题是关于第61页的,书中给出了关于查询多对多关系的两个示例查询。下面是两个查询:

>

  • =>是什么意思?我以为=>只存在于Ruby驱动程序中。

    类别[“_id”]中的类别是什么?是收藏吗?

    产品['category_ids']中的产品是什么?

    第一个查询与前面描述的gardening Tools category是如何关联的?

    书中没有详细解释这两个疑问。

    有人能解释一下关于多对多查询的更多信息吗?

  • 共有1个答案

    濮景龙
    2023-03-14

    看起来作者使用的是驱动程序语言,而不是原生MongoDB javascript mongo客户端。另外,这也是有意义的,因为书中的描述说作者同时维护C和Ruby Mongo驱动程序。

    >

  • 是的=>是特定于语言驱动程序的符号。而不是JavaScript。似乎就像说:db.products.find({_id:aCategoryId})。它实际上是一个Ruby散列符号。

    该示例中的category看起来只是表示您已经检索到的类别文档。在这种情况下,它应该是园艺类别的文档。它只是说“查找products category_ids数组中该类别id所在的所有产品

    与前一个问题类似。product是您已经检索到的文档。该查询显示“查找其id在此产品类别id数组中的任何类别文档。

    Category将是Gardening类别,如果您检索它时使用了如下内容:var Category=db.Category.findone({slug:“gardening-tools”})

  •  类似资料:
    • 实现了一对多的关系,它运行良好。 我的问题是当我运行下面的查询时,如果表有100个员工行,每个员工有两个部门。数据库查询被调用了101次,因为对每个员工都是调用部门查询,要完成调用全部100行需要很长时间,有没有人可以提出替代的解决方案? 输出XML:

    • 我试图让api返回一个注释列表,通过与标签的多对多关系关联,给定一个标签ID。Spring boot自动创建了一个名为notes_tables的桥接表,其中包含一个notes_id字段和一个labels_id字段。Spring Boot还创建了一个notes表和一个labels表。我尝试了以下步骤: 我只需要让它工作,但我特别好奇我是否能让它与jpa方法查询一起工作。任何查询都可以,只要它可以工作

    • 我在Eclipselink2.3.2中使用JPA2.0,在其中,我在产品和它们的颜色之间建立了多对多的关系。一个产品可以有多种颜色,一种颜色可以与多种产品相关联。这种关系在数据库中由三个表表示。 null 很明显,实体类有一组颜色-,它被命名为。 实体类有一组产品-,它被命名为。 我需要根据提供的与表中的颜色不匹配的从表中获取颜色列表。 对应的JPQL如下所示。 它生成以下SQL语句。 因为这将是

    • 本文向大家介绍MyBatis中多对多关系的映射和查询,包括了MyBatis中多对多关系的映射和查询的使用技巧和注意事项,需要的朋友参考一下 先说一下需求:  在页面上显示数据库中的所有图书,显示图书的同时,显示出该图书所属的类别(这里一本书可能同时属于多个类别) 创建表:  笔者这里使用中间表连接图书表和图书类别表,图书表中没有使用外键关联图书类别表  而是在中间表中引用了图书主键和类别主键  通

    • 问题内容: 首先导入k和模块: 声明和对象: 有三个表:和。该Artist对象可以链接到多个。并且该Album对象可以链接到多个对象。的是保持之间的关系和紧密的: 所以我们有Artist链接到Album这是与Genre它看起来像这样:。 完成此设置后,我们Genre首先创建对象: 然后是两张专辑: 和艺术家: 创建数据库后,我们可以查询Albums链接到的内容Genre: 以及Artists链接到