使用虚拟作为人口猫鼬参考?

时间:2020-07-31 20:58:42

标签: javascript mongoose mongoose-populate

我在猫鼬中有一个EventUserAPIKey模型。 Event模式具有字段creator,该字段可以是用户ID或APIKey ID。为了能够正确填充创建者字段,我需要添加其他字段并使用refPath

但是!我的User和AP​​IKey ID已经包括模型类型,如下所示:

用户ID:usr_xxxxx

API密钥ID:key_xxxxx

是否可以仅通过提取ID的前缀并将其用作参考来确定模型类型?也许是虚拟的?像这样:

EventSchema.virtual('creatorRef').get(function () {
  switch (this.creator.split('_')[0]) {
    case 'usr':
      return 'User';
    case 'key':
      return 'APIKey';
  }
});

0 个答案:

没有答案