【发布时间】:2016-09-01 14:39:07
【问题描述】:
根据 Loopback Documentation,我们可以通过编程方式定义嵌入式文档属性,例如:
var UserModel = {
firstName: String,
lastName: String,
address: {
street: String,
city: String,
state: String,
zipCode: String
},
...
}
或
var AddressModel = {
street: String,
city: String,
state: String,
zipCode: String
};
var Address = ds.define('Address', AddressModel);
var UserModel = {
firstName: String,
lastName: String,
address: 'Address',
...
}
// or address: Address
var User = ds.define('User', UserModel);
我的问题是我们是否也可以在模型定义 JSON 文件中这样做。
我发现你可以创建一个其他的 JSON 文件,然后在模块定义文件中直接引用它作为类型。 例如。
{
"name": "Address",
"base": "Model",
"strict": true,
"idInjection": false,
"properties": {
"id": false,
"street": {
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"zipCode": {
"type": "string"
},
"country": {
"type": "string"
}
},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
然后引用 User 的原始 JSON 定义如
address:{
type:'Address'
}
但我还没有找到如何在一个 JSON 定义中直接声明它而不需要不同的文件。 (与以编程方式的第一个示例相同)
我试过了
address:{
street: 'string',
city: 'string'
...
}
但没有结果。数据没有得到验证,它认为它是一个可以保存任何东西的任何类型属性
【问题讨论】:
标签: json loopbackjs strongloop