Node.js 环回连接/包括两个集合
我想在产品模板中包含我的产品模型 1-每个产品模板都有自己的产品,产品变体很多 2-产品\u产品只有一个属于产品\u模板的模板 3-产品模板应仅填写相关的产品变更 4-这两个模型分别保存,因此当我调用find函数时,我希望得到一个产品模板模型,其中填充了与之相关的产品。产品可能不止一个 获取产品模板功能: 产品\产品型号: 此模型应包含在产品模板中Node.js 环回连接/包括两个集合,node.js,mongodb,loopbackjs,Node.js,Mongodb,Loopbackjs,我想在产品模板中包含我的产品模型 1-每个产品模板都有自己的产品,产品变体很多 2-产品\u产品只有一个属于产品\u模板的模板 3-产品模板应仅填写相关的产品变更 4-这两个模型分别保存,因此当我调用find函数时,我希望得到一个产品模板模型,其中填充了与之相关的产品。产品可能不止一个 获取产品模板功能: 产品\产品型号: 此模型应包含在产品模板中 { "name": "product_product", "base": "PersistedModel",
{
"name": "product_product",
"base": "PersistedModel",
"strict": true,
"options": {
"validateUpsert": true
},
"properties": {
"_id_Odoo": {
"type": "number"
},
"sku": {
"type": "string",
"id": true,
"required": true,
"description": "Yes it's SKU"
},
#fields
},
"validations": [],
"relations": {
"product": {
"type": "belongsTo",
"model": "product_template",
"foreignKey": "_id_Odoo"
}
},
"acls": [],
"methods": {}
}
产品模板模型:
此模型应包括产品
{
"name": "product_template",
"base": "PersistedModel",
"strict": true,
"options": {
"validateUpsert": true
},
"properties": {
"_id_Odoo": {
"type": [
"number"
]
}
"sku": {
"type": "string",
"id": true,
"required": true,
"description": "Yes it's SKU"
},
"name": {
"type": "string"
}
},
"scope": {
"include": "variations"
},
"hidden": ["_id_Odoo"],
"validations": [],
"relations": {
"variations": {
"type": "hasMany",
"model": "product_product",
"foreignKey": "_id_Odoo"
}
},
"acls": [],
"methods": {}
}
结果:
这是上面获取产品模板的结果:
{ sku: 'AHWLI05942-FUSCHIA', variations: List [] },
{ sku: 'AHWLI05943-BLACK', variations: List [] },
{ sku: 'AHWLI05943-BURGUNDY', variations: List [] },
{ sku: 'AHWLI05944-BLACK', variations: List [] },
{ sku: 'AHWLI05944-MARRON', variations: List [] },
{ sku: 'AHWLI05945-BLUE', variations: List [] }
当我指向变体时,我得到一个函数,进入变体。列表我得到未定义的任何想法如何获得精确的结构?示例代码我的模型团队角色的一部分,属于模型级别的团队和用户 teamRole.json 团队角色的搜索查询示例 query.js
希望上面的例子能对您有所帮助。很抱歉反应太晚,这只是对关系和结构的误解,我做了一个函数来验证模板中是否存在产品模型。如果是,我在产品模型中推送模板id,效果很好 product\u product Model:我删除了下面模型中的关系,因为它是无用的,所以我删除了sku中的id属性并删除了_id\u Odoo字段,然后添加了包含模板模型id的id字段和父模板字段
{
"name": "product_product",
"base": "PersistedModel",
"strict": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "number"
"id": true
}
"parent_template": {
"type": "number"
},
"sku": {
"type": "string",
"required": true,
"description": "Yes it's SKU"
},
#fields
}
产品模板模型:我删除了sku中的_id_odoo和id属性,并为此模型创建了一个id,并将父模板作为foreignkey
{
"name": "product_template",
"base": "PersistedModel",
"strict": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "number",
"id" : true
}
"sku": {
"type": "string",
"required": true,
"description": "Yes it's SKU"
},
"name": {
"type": "string"
}
},
"scope": {
"include": "variations"
},
##########
"relations": {
"variations": {
"type": "hasMany",
"model": "product_product",
"foreignKey": "parent_template"
}
},
#############
}
您能否显示访问模型的上下文?是通过HTTP,还是在模型的JS中?
app.models.TeamRole.find({
where: {
userId: user.id
},
include: {
relation: 'team'
}
},function(err,teams){
console.log("teams will have all the include teams[] with team role ")
});
{
"name": "product_product",
"base": "PersistedModel",
"strict": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "number"
"id": true
}
"parent_template": {
"type": "number"
},
"sku": {
"type": "string",
"required": true,
"description": "Yes it's SKU"
},
#fields
}
{
"name": "product_template",
"base": "PersistedModel",
"strict": true,
"options": {
"validateUpsert": true
},
"properties": {
"id": {
"type": "number",
"id" : true
}
"sku": {
"type": "string",
"required": true,
"description": "Yes it's SKU"
},
"name": {
"type": "string"
}
},
"scope": {
"include": "variations"
},
##########
"relations": {
"variations": {
"type": "hasMany",
"model": "product_product",
"foreignKey": "parent_template"
}
},
#############
}