使用 Node/React/MongoDB 构建推荐系统

Building a referral system using Node/React/MongoDB

我正在为我的网站制作推荐系统。我有两个模式,一个是用户,另一个是推荐。用户架构如下:

const UserSchema = new Schema({
  name: {
    type: String,
    required: true,
  },
  email: {
    type: String,
    required: true,
  },
  refId: {
    type: Schema.Types.ObjectId,
    ref: "referral",
  },
  link: {
    type: String, },
  createdAt: {
    type: Date,
    default: Date.now(),
  },
})

推荐架构如下:

const ReferralSchema = new Schema({
  referralId: {
    type: String,
    unique: true
  },
  link: {
    type: String,
    unique: true
  },
  userId: {
    type: Schema.Types.ObjectId,
    ref: 'user'
  },
senderMsg: {
type: String},
senderName: {
type: String},
  createdAt: {
    type: Date,
    default: Date.now()
  }
})

推荐 link 是在注册时创建的,之后当用户将网站推荐给他的 friend/relative 或其他任何人时,he/she 将输入电子邮件 ID 并将发送将推荐人通过电子邮件发送给推荐人 link。 现在我想跟踪通过该推荐 link 注册的那些推荐的计数,并且推荐名称应该 linked 到用户下。 我面临的问题是我想显示推荐人 link,例如: http://example.com/invite/abc@gmail.com

如何将其设为推荐 link。其次如何添加用户注册数并将计数保存在 mongodb.

任何帮助将不胜感激。谢谢

How to make this as referral link - 当用户引用任何其他用户并将输入用户电子邮件时,您可以将该特定实例保存在数据库中,并且您还可以跟踪被引用用户是否从 link 与否。如果用户点击了他们的推荐,您可以设置一个标志(布尔值)link。

how to add the count of no of user registered and save the count - 至于计数部分,当您通过 link 跟踪是否有任何推荐用户注册时,您也可以获得计数(您已经运行 对该标志的查询)。

link: {
    text: String,
    isClicked: Boolean,
  },