首页 > 解决方案 > 我们如何决定在项目中我们需要角色基础用户,或者我们创建每个用户模式,如买方卖方和代理 mongodb 和 nodejs

问题描述

我想创建一个项目,其中有三种类型的用户我应该做什么应该去角色库或创建三个不同的模式

标签: node.jsmongodbexpress

解决方案


这取决于用途是什么。您是否主要根据用户自己进行报告,例如买家、卖家或代理商的历史记录?或者您主要是对正在出售的物品进行报告,买家/卖家/代理可能会出现在哪里?

例如,假设它是一个房地产应用程序,大部分搜索将集中在具有特定功能的特定地理区域的房产(例如,至少有 3 间卧室和一个车库的社区中的房产)。甚至像 eBay 这样的买卖应用程序,大部分搜索都围绕产品进行。

是的,人们会搜索自己的历史或其他人的历史(房地产应用程序中的代理、买卖应用程序中的买家和卖家评级),但相比之下,这只是一小部分流量。

所以我会用一个扩展的参考模式模式来设置它 - https://www.mongodb.com/blog/post/building-with-patterns-the-extended-reference-pattern - 用户的详细信息是正确的进入产品对象......

例如财产收集

{
id: ObjectId('123abc'),
address: '123 main street',
city: 'Anytown',
country: 'USA',
bedrooms: 2,
bathrooms: 1,
garage: 0,
agent: [ userId: ObjectId('789xyz'), name: 'John Doe' ]
asking price: 225000
}

然后一个用户集合可能有: { userId: ObjectId('789xyz'), name: 'John Doe', agent: [ ObjectId('123abc'), ObjectId('abc123')] }

这意味着 John Doe 已成为 2 处房产的代理人。我会这样做,假设代理人也可以是买方或卖方(不仅仅是“由所有者出售”的情况,而且代理人可以购买或出售自己的房子,并使用另一个代理人这样做)。


推荐阅读