在环回模型中隐藏嵌套属性

Hide nested properties in loopback model

我正在创建一个环回模型 (model1),它引用另一个模型并想隐藏嵌套模型 (model2) 的一些属性。另外,我只想将它们隐藏在这个 model1 中。我该如何解决这个问题?

我试过 属性 隐藏,它适用于当前的 model1 属性,但不适用于嵌套的 model2 属性。

{
  "name": "Model1",
  "base": "PersistedModel",
  "idInjection": true,
 ...
  "properties": {
    "pet": {
      "type": "Model2",
    }
 ...
}

{
  "name": "Model2",
 ...
  "properties": {
    "name": {
      "type": "string",
    }
 ...
}

我想在这里隐藏 Model1 资源管理器中 Model2 的 属性 "name"

谢谢!

I want here to hide the property "name" from Model2 in the Model1 explorer

为此,您只需将此行添加到 model2.json:

"protected": ["name"],

您正在查找 protected property,如果对象嵌套在另一个对象中,则受保护的字段将不存在。

您检查过 include-with-filter 文档了吗?我希望这可以解决您的问题,或者分享一些您目前尝试过的更具描述性的代码。

这是另一个使用预定义模型关系来包含相关模型中的选择性字段的示例。

{"include": [  
  {"relation":"relationName", 
   "scope":{"fields": ["Field1","Field2"]} 
  },
  {"relation":"relation2Name", 
   "scope":{"fields": ["Field3","Field4"]} 
  },
]}

注意:您将无法隐藏 ID