node.js - MongoDb 适合我的应用程序吗?

标签 node.js mongodb non-relational-database nosql

我正在 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 存储在用户文档中吗?

谢谢!!

最佳答案

你的数据似乎与我很相关。我认为 MongoDB 或 NoSQL 解决方案没有太大优势。它们适用于非关系型的基于文档的解决方案。

如果您在缩放或性能方面遇到问题,我会获取一些数据。在知道根本原因是什么之前,不要假设解决方案。它可能是 node.js - 谁知道呢? Some people不太在乎它。

关于node.js - MongoDb 适合我的应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8279925/

相关文章:

MongoDB/NOSQL : Best approach to handling read/unread status on messages

javascript - 是否有类似 SailsJS 的 MEAN 堆栈的样板文件?

java - 与 MongoDB 的 Jelastic 连接在远程 tomcat 上不起作用,但当本地 tomcat 连接到远程 Mongo 时正常

node.js - mongoDB + NodeJS : can't keep a stream cursor open

performance - 为什么 Meteor 需要这么长时间才能在 Heroku 上加载我的数据?

mysql - 在关系数据库和非关系数据库之间同步分页

javascript - 多天和按小时分组的总和计数

javascript - NodeJS ZeroMQ - 连接后生产者何时准备好发送消息?

Node.js SOAP : invalid message definition for rpc style binding

scala - 在云中部署和托管 scala?