【发布时间】:2019-05-07 10:42:46
【问题描述】:
我创建了这条记录,您可以看到它有 2 个标签 - tag1 和 tag2
{
"id": "d87de1d9-b048-4867-92fb-a84dca59c87e",
"name": "Test Name",
"tags": [
{
"id": "fa0ca8fd-eff4-4e58-8bb0-a1ef726f01d4",
"name": "tag1",
"organizationId": "d87de1d9-b048-4867-92fb-a84dca59c87e",
"updatedAt": "2018-12-05T18:53:56.867Z",
"createdAt": "2018-12-05T18:53:56.867Z"
},
{
"id": "66e758af-9907-4278-8c4f-f8fb2bf9aea9",
"name": "tag2",
"organizationId": "d87de1d9-b048-4867-92fb-a84dca59c87e",
"updatedAt": "2018-12-05T18:53:56.867Z",
"createdAt": "2018-12-05T18:53:56.867Z"
}
],
"updatedAt": "2018-12-05T18:53:56.860Z",
"createdAt": "2018-12-05T18:53:56.860Z"
}
我想编写一个查询来查找包含tag1 的组织并返回包括所有标签的整个组织。
我目前有这个查询,它只返回与查询匹配的标签记录,而不是所有标签。
db.organization.findAll({
include: {
model: db.tag,
where: { name: 'tag1' }
}
})
它正在产生这个结果
[
{
"id": "3d03d74e-82ec-485e-aa29-abe9e8b0f0e9",
"name": "Test Name",
"createdAt": "2018-12-05T19:29:40.685Z",
"updatedAt": "2018-12-05T19:29:40.685Z",
"tags": [
{
"id": "75dc9cd2-5e20-4aa6-b86e-cbaa2c896d57",
"name": "tag1", <-- NOTE THAT ONLY TAG1 IS IN THE RESULTS EVEN THOUGH THERE SHOULD BE ANOTHER TAG OBJECT RETURNED
"createdAt": "2018-12-05T19:29:40.694Z",
"updatedAt": "2018-12-05T19:29:40.694Z",
"organizationId": "3d03d74e-82ec-485e-aa29-abe9e8b0f0e9"
}
]
}
]
如何编写查询来执行此操作?
【问题讨论】:
标签: javascript node.js sequelize.js