gpt4 book ai didi

MongoDB/沙发数据库 : Join a table to itself

转载 作者:可可西里 更新时间:2023-11-01 09:59:51 24 4
gpt4 key购买 nike

我有一个关系数据模型,我正在考虑迁移到 MongoDB 或 CouchDB,并且我正在尝试了解查询的工作方式。假设我有两个实体,Employees 和 Projects,以及一个名为 Assignments 的多对多连接表。我想查询两个用户合作的所有项目。在 SQL 中,我可以这样做:

SELECT DISTINCT a1.project_id
FROM assignments a1, assignments a2
WHERE a1.project_id = a2.project_id
AND a1.employee_id = ?
AND a2.employee_id = ?

假设我有员工、项目和分配“文档”,我将如何在 NoSQL 中执行此操作?或者您是否会以不同方式构建文档,这将如何影响查询?

我很高兴听到有关 Mongo 的查询 API 和 Couch 的 map/reduce 方法的答案。

最佳答案

我只能在沙发上分享风景,我,嗯,偶尔放松一下。首先,在处理基于文档的系统时,您几乎总是必须故意忘记 SQL。

其次,您可以选择更改结构并将实体数量减少到不需要连接的最少数量,或者您可以使用将不同类型的文档合并到一个结果集中的 View 。

前者(重新设计)是首选方法,因为连接本质上是 nosql 的一种外来方法,因为规范化不是那里的要求。基于文档的不是关系型的。

关于MongoDB/沙发数据库 : Join a table to itself,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com