我正在node.js上构建一个应用程序,该应用程序具有多对多关系中的用户和产品(一个用户拥有许多产品,同一产品可能属于多个用户)。每个用户还有位置信息。
大多数情况下,我需要在用户第一次访问时进行大量写操作(对以下访问进行一些写操作)然后我需要匹配用户,例如,共享最多的产品并返回相同的用户产品的共同点。我可能还希望按位置匹配用户(或按匹配位置对其进行排序)
我现在正在使用postgres,但我认为从长远来看我会更好地做mongo。问题是我从未参与过NOSQL DB(没有恐惧;))
问题是,以下“架构”是否适用于上述情况?
[user]{
_id
name
age
[location]{
streep
town
country
}
}
[products]{
_id
name
color
[users]{
user_id_1
user_id_2
user_id_3
}
}
我认为,由于要求,我比这种方式更好,而不是嵌入。我对吗?你认为我应该将products_id存储在用户文档中吗?
谢谢!
答案 0 :(得分:3)
您的数据似乎与我有很大关系。我不认为MongoDB或NoSQL解决方案有很大的优势。它们适用于非关系型的基于文档的解决方案。
如果您在缩放或性能方面遇到问题,我会得到一些数据。在知道根本原因之前,不要假设解决方案。它可能是node.js - 谁知道? Some people并不关心它。