将Mongoose Schema相互连接

时间:2016-09-05 20:53:50

标签: node.js mongodb mongoose schema

我有一个用户配置文件的现有架构,如下所示:

const userSchema = new mongoose.Schema({
  email: { type: String, unique: true, lowercase: true },
  password: { type: String },
  name: {
    first: { type: String, required: true },
    last: { type: String, required: true }
  }
});

我的问题是:我可以创建另一个模式来保存事件注册的属性(例如用户支付的传递类型,地址,联系号码等)特定信息,并将其连接到{{1 }}?或者将所有信息都放入userSchema

会更有效

示例注册架构:

userSchema

感谢。

1 个答案:

答案 0 :(得分:1)

有三种情况

  1. 实体之间的关系是1:1(您的情况?) - 将它们放在同一个架构中。我们很幸运,不使用关系数据库。

  2. 关系是1:N但是每个父母会有一个可预测且不大的孩子 - 也将它们放在同一个模式中。

  3. 2的例子:

    一个。用户角色。

    湾用户访问过的国家。

    1. 关系是1:N,每个父项可以有任意数量的子项,并且不可预测 - 使用不同的模式。
    2. 3的例子:

      一个。用户订单。

      湾用户位置历史记录