草庐IT

Mongodb多对多获取相关项

我有3个具有多对多关系的mongodb集合,productfeatures集合是关系集合。db={"products":[{"id":1,"name":"product1"}],"features":[{"id":101,"name":"width"},{"id":102,"name":"length"},{"id":103,"name":"height"}],"productfeatures":[{"productId":1,"featureId":101,"value":"3"},{"productId":1,"featureId":102,"value":"4"},{"produ

mongodb - MongoDB 中的多对多

我决定尝试一下MongoDB,看看我们相处得怎么样。不过我确实有一些问题。前提我有用户(id、姓名、地址、密码、电子邮件等)我有邮票(id、类型、值(value)、价格等)用户浏览邮票文件并以各种方式过滤它(分页、按价格、类型、名称等过滤),选择邮票,然后将其添加到他们的收藏中。用户可以在他们的收藏中添加多于一张的邮票(1张新的和一张用过的,或者只有2张用过的)用户可以标记他们的一些邮票进行销售或交易,并可能指定一个价格。到目前为止这是我目前所拥有的:{_id:objectid,Name:"bob",Email:"bob@bob.com",...Stamps:[stampid-1,st

mongodb - 文档数据库中的多对多

我刚刚开始使用MongoDB(晚会迟到了,我知道……)在考虑文档设计时,我仍在努力摆脱10多年的关系数据库。假设我有很多用户使用很多应用程序。任何用户都可以使用多个应用,任何应用都可以被任意数量的用户使用。在登录过程中,我想访问用户使用的所有应用程序。在另一个过程中,我想获取特定应用程序的所有用户。我应该只有重复数据吗?也许在App文档中有一组用户,在用户文档中有一组应用程序?这有意义吗?这是文档数据库中的传统方法吗? 最佳答案 好问题!您有很多场景。在Mongo中,您可以通过多种方式解决此问题:使用像在SQL中一样的查找表或使用数

MongoDB - 多对多关系?

我很好奇如何构建一个具有多对多关系且可能有数万条记录的MongoDB。假设您有一个餐厅数据库,用于跟踪大量餐厅以及所有在这些餐厅签到的人。因此,用户可能想要查找一个人并查看他们签到的所有餐厅,但也想查找一家餐厅并查看所有签到的人。如何以一种有意义且易于搜索和更新的方式构建它? 最佳答案 您给出的示例与大多数现实世界中多对多关系的示例一样,实际上是少对少关系的示例。您可能有许多餐厅和许多食客,但与整个集合相比,任何给定的餐厅都只为一小部分食客提供服务,而且大多数个人食客只会光顾一小部分餐厅。这听起来像是一个稀疏链接的网络,其中链接密度

mongoDB 多对多一个查询?

在mysql中我使用JOIN并且一个查询没有问题。mongo呢?想象类别和产品。产品可能有更多类别。类别可能有更多产品。(多对多结构)管理员可以在管理中编辑类别(类别必须分开)是否可以在一个查询中写入带有类别名称的产品?我用过这个结构categories{name:"categoryName",product_id:["4b5783300334000000000aa9","5783300334000000000aa943","6c6793300334001000000006"]}products{name:"productName",category_id:["4b5783300334

ruby-on-rails - 带版本控制的 Mongoid 多对多

假设,用户想要创建一个由其他用户创建的项目组成的集合。项目的Mongoid文档具有版本控制,创建集合的用户可能不喜欢项目作者对集合的项目所做的更改。因此,我希望集合文档引用项目的特定版本,允许集合作者在需要时更新项目引用。我计划在集合文档中添加一组项目版本号,以及一些获取特定版本集合项目和更新项目版本的方法。你觉得这种做法合理吗?你会如何解决这个问题?classItemincludeMongoid::DocumentincludeMongoid::ParanoiaincludeMongoid::Versioningfield:title,type:Stringhas_and_belon

javascript - 了解 MongoDB 中的多对多关系以及如何取消引用集合

我花了一些时间研究用于实现多对多关系的MongoDB替代方案,包括几篇stackoverflow文章(here和here)和these幻灯片。我正在使用MEAN堆栈创建一个应用程序,我正在尝试确认我的模式设置和取消引用对象集合的最佳实践。我在用户和session之间有一个基本的多对多关系(想想为用户安排session,一个用户可以参加很多session,一个session包含多个用户)。鉴于我的用例,我认为最好使用引用而不是嵌入。我相信(从我读过的内容来看)只有当我的session有单个session独有的用户时才使用嵌入会更好。在我的例子中,这些相同的用户在session之间共享。此

MongoDB - 查询多对多关系如何工作?

我正在看书MongoDBinAction.我有一个关于第4章:面向文档的数据的问题。在第58页,这本书给出了一个多对多关系的例子。它给出了Product文件和Category文件。产品类别我的问题我理解这里的多对多关联。基本上,Product可以有一个包含Category_id等数组的键。所以我不想问这样的问题MongoDBMany-to-ManyAssociation我的问题是关于第61页,书中给出了两个关于查询多对多关系的示例查询。这是两个查询:=>是什么意思?我以为=>只存在于Ruby驱动程序中用法。类别['_id']中的类别是什么?是合集吗?product['category_

php - Laravel 5 递归函数多对多自引用模型

我有一个名为Product的模型,它具有以下自引用多对多关系://parentproductsbasedontheproduct_productpivottablepublicfunctionparent_products(){return$this->belongsToMany('App\Product','product_product','child_id','parent_id')->withPivot('amount');}//childproductsbasedontheproduct_productpivottablepublicfunctionchild_product

mysql - 选择所有多对多关系

给定下表:author--------------idint(11)namevarcharauthor_type---------------idint(11)typevarcharauthor_has_type---------------author_idint(11)author_type_idint(11)我正在尝试编写执行以下操作的查询;给定作者类型,它将显示以下内容author.nametypes-Theauthorsname--Alltypesoftheauthor-现在我尝试使用的查询是Selectauthor.name,GROUP_CONCAT(author_type