我在node.js上构建了一个应用程序,该应用程序具有多对多关系中的用户和产品(一个用户有多个产品,同一个产品可能属于多个用户)。每个用户也有位置信息。MongoDb适合我的应用程序吗?
大多数情况下,我需要在用户第一次访问时进行很多写操作(在以下访问中写了几个),然后我需要匹配用户,例如,拥有最多共同产品的用户,并返回相同的产品相同。我可能还需要
我使用Postgres的现在,以匹配位置的用户(或通过匹配的位置对它们进行排序),但我想我会从长远来看,这样做蒙戈的更好。问题是,我从来没有工作的NOSQL数据库(没有恐惧;))
的问题是,在下面的“模式”适用于上面所描述的?
[user]{
_id
name
age
[location]{
streep
town
country
}
}
[products]{
_id
name
color
[users]{
user_id_1
user_id_2
user_id_3
}
}
我认为,由于要求,我比通过嵌入方式更好。我对吗?你认为我应该将products_id存储在用户文档中吗?
谢谢!
只是好奇,你为什么认为mongo更好?您是否在使用当前数据库时遇到任何问题? – JohnP
对于其中一种我听说会更好的性能(看过一些很有前途的图形),我在使用node.js的postgres实现方面遇到了一些问题,这让我很沮丧。你认为我应该坚持使用postgres吗?谢谢!! – jribeiro
只是想知道你为什么要做这个开关。 mongo驱动程序非常好,有很多框架,所以不用担心。但是,如果你要使用连接的数据,它不会像关系数据库那样干净。取决于你愿意忍受多少重复的数据。规范化在mongodb上会带来一些冲击,因为用例有点不同。 – JohnP