如何验证 Strongloop 中的外键?

How to verify an foreign key in Strongloop?

我有一个类别列表和一个地点列表,每个地点在外键中都有一个 categorieId。

categorie.json: http://pastebin.com/ttumKPf9

place.json: http://pastebin.com/J4bdEiUx

我尝试验证类别 ID 是否存在。为此,我重新定义了一个创建方法class。在 class 位置,我搜索类别 ID 是否存在于类别中。如果找到它,我会调用 upsert 方法将数据插入到位。 但是这个 upsert 方法召回创建方法...... 如果我不调用 upsert 方法,则不会插入数据。 如何在 strongloop 中验证和插入数据?

script.js:

module.exports = function(app){

 var Place = app.models.place;
 var Categorie = app.models.categorie;

 Place.create = function(data,callback){
  console.log("avant find");

    console.log(data.id);

    Categorie.findById(data.categorieId, function(err, instance){
      console.log("find")

      if(err){
        throw err;
      }
      if(instance == null){
        new err;
        throw err;
      }

      console.log("Upsert");
      Place.upsert(data, callback);
    });  
 };
};

您应该重新定义远程方法,而不是 ORM 方法。

另一种方法,如果您使用关系数据库,请创建外键约束。

这是 SQL 查询,其中 placecategorie 是 table 名称: ALTER TABLE place ADD CONSTRAINT Categorie_places_ix FOREIGN KEY (categorieId) REFERENCES categorie(id) ON DELETE SET NULL;