确保环回模型中的唯一字段值

 欣荣_75229 发布于 2022-12-20 16:33

如何确保环回模型中特定字段的唯一性.下面是模型Post,我在其中有一个字段genericId,我希望它在数据库中是唯一的,并且在重复键插入时循环到错误.

{
  "name": "Post",
  "plural": "Post",
  "base": "PersistedModel",
  "properties": {
    "genericId": {
      "type": "string",
      "required":True 
    },
    "moderatedAt": {
      "type": "date"
    }
  },
  "validations": [],
  "acls": [],
  "methods": []
}

我试过在那里搜索文档和其他示例但没有成功.我能想到的一个解决方案是,为create函数创建一个remoteHook,并在插入之前验证这个字段,但是寻找其他方法.

2 个回答
  • 不确定它是否是实现唯一性的更好方法,但您可以在此处找到有关索引模型的文档.

    只需在您想要的字段上添加一个唯一索引,瞧!

    对于您的模型,那将是:

    {
      ...
        "genericId": {
          "type": "string",
          "required": True,
          "index": {"unique": true} 
        },
     ...
    }
    

    但是,如果该genericId字段是模型的实际Id,我建议您将其声明为这样,因此您可以使用findById方法,并且还可以避免创建重复id字段,如果您未在模型中声明任何字段,则会发生这种情况.

    {
      ...
        "genericId": {
          "type": "string", 
          "id": true,       // Ensure uniqueness and avoid another model id field
          "generated": true // Add this if you want Loopback to manage id content for you
        },
     ...
    }
    

    2022-12-20 16:34 回答
  • 在您的中设置验证规则common/models/post.js

    Post.validatesUniquenessOf('genericId');
    

    2022-12-20 16:34 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有