假设我有一个多对多关系的学生和老师。如果我只想找出给定学生的所有老师,反之亦然,我通常会使用嵌入式对象ID对其进行建模。例如,如果教师有一个属性studentIds,它是一个学生对象ID数组,那么这些信息就足以执行您需要的所有查询。但是假设学生可以给老师打分。这个评级应该如何适应模型?目前,我执行以下操作:在teacher内部,我存储了一个student数组,而不是json对象数组{studentId:ObjectId,rating:String}做查询的时候,我把json对象数组转换成数组studentIds并像往常一样提取完整信息所以现在我有一个学生对象数组和一个json对象数组收
您好,我已经开始在一个小型家庭项目中学习Mongo,以确定它是否可以作为我们工作中的一个产品的解决方案。在走上我梦想的道路之前,我想通过堆栈溢出来运行它,以确定这个结构是否合理,以及从现在起n年后是否可以有效地访问数据。该应用程序是一款收集足球比赛点差并允许用户进行模拟投注的应用程序。这为各种有趣的分析打开了大门,从投注模式到点差如何随时间变化等等。用户赌注[]团队排名[]游戏客队{}主队{}赌注[]您会从上面的列表中注意到我列出了两次赌注。这是我的大问题之一。存储用户下注的游戏的文档存储在哪里?在游戏或用户收藏中。两者都很有道理。如果我将它存储在一个与另一个之间,那么我必须在另一个中
我的应用程序中有3个不同的模式:userSchema,questionSchema,listingSchema三者的关系如下:每个列表都有许多与之相关的问题(每个列表都有相同的问题)。每个用户可以回答多个列表中的许多问题。许多列表中的许多用户回答了每个问题。我正试图全神贯注地定义这些模式之间的正确关系(主要是因为诸如“_id=100的用户回答了_id=5的问题之类的问题>在带有_id=3的列表中,我如何以最有效的方式更新所有这些?)。到目前为止我已经定义了:问题架构:varquestionSchema=newSchema({description:String});用户架构:varus
我正在将数据库移植到MongoDB,但遇到了一些文档大小限制问题。我的理解是,如果您要始终在另一个实体的上下文中查看一个实体,则嵌入是可行的方法。然而,数据(基因组)的每种类型都有如此多的实体,即使只是将_id字段存储在嵌入式文档中也会使我超过16MB的大小限制:Genome{...has_reactions:[id1,id2,...idn]//Wherenisreallylarge}我也试过用另一种方式建模,但遇到了同样的限制:Reaction{...in_genomes:[id1,id2,...idn]//Stillreallylarge}MongoDBdocumentation给
所以我在Mongo/Mongoid中对此建模时遇到了问题:团队可以参加一个事件,每个事件都会有每个团队的结果(分数、领先分数的Action等)基本上我想显示事件的各种记分牌。这就是我所拥有的:Eventhas_and_belongs_to_many:teamsTeamfield:namefield:colorhas_and_belongs_to_many:events这很好用,但我需要知道如何为每个团队和事件之间的关系建模。TeamEventStats(probablynotthebestname)field:score,:type=>Integer#etc.etc.在ActiveRe
所以在关系数据库中,我可能有2个表,'User'和'Event',它们具有多对多关系,因此连接表'UsersEvents'说。现在,除了2个ID之外,我还有一些数据想存储在此表中,类似于名为“Enjoyed”的bool值。我知道在Mongo中您会在表之间创建嵌入式链接,例如使用MongoosevarPerson=newSchema({email:String,events:[EventFeedback]})varEvent=newSchema({...});varEventFeedback=newSchema({person:Schema.ObjectId,event:Schema.O
我试图在python中构建一个简单的应用程序,其中我有与标签相关联的标签。给定以下数据:书:+-------------+--------------------------------+|id|tags|+-------------+--------------------------------+|1|[python,ruby,rails]|+-------------+--------------------------------+|2|[fiction,fantasy]|+-------------+--------------------------------+|3|[f
我试图了解Mongodb中的嵌入,但找不到足够好的文档。不建议链接,因为写入不是跨文档的原子操作,而且还有两次查找。有人知道如何解决这个问题吗?或者你会建议我去像neo4j这样的图形数据库。我正在尝试构建一个需要多对多关系的应用程序。为了解释,我将以图书馆为例。它可以根据用户friend正在阅读的书籍和邻居(志趣相投的)用户正在阅读的书籍向用户推荐书籍。有用户和书籍。用户借书并有其他用户的friend给定一个用户,我需要他正在阅读的所有书籍以及相互阅读的书籍数量本书的friend给定一本书,我需要所有阅读它的人。可能会被给予一个用户A,这将返回peoplereadingbook的交集和
假设我必须在mongoDB中保存布料记录。布料的属性是姓名描述风格大小颜色条件品牌品牌名称一些属性价格对于每种款式和品牌的每种组合,每种布料的价格都会发生变化。那么我如何在mongoDB中对此进行建模。到目前为止我一直在想的是:{"name":"Aname","description":"Atypicaldescription","style":[{"size":"XL","color":"red","condition":"good"},//--style0{"size":"XXL","color":"white","condition":"bad"},//--style1//...
我刚刚开始使用MongoidORMforMongoDB的新Rails3项目。只有一件事我无法理解,那就是如何有效地建立多对多关系。现在我很有可能错误地解决了这个问题,但据我所知,我的项目中至少有两个容器需要多对多关系。我更愿意将这两个模型都视为“一流”模型,并为每个模型分配自己的容器。这是我能想到的构建多对多关系的最简单方法://Javascriptpseudomodeling//--------------------Apps{app:{_id:"app1",name:"A",event_ids:["event1","event2"]}}{app:{_id:"app2",name:"