gpt4 book ai didi

typescript - typeorm 在 jsonb 列属性上添加索引

转载 作者:行者123 更新时间:2023-12-03 08:32:19 26 4
gpt4 key购买 nike

我有一个表,其中有一个名为 assetjsonb 列。此列中的记录有一个名为 value 的字段。我正在寻找一个选项来创建 asset.value 索引,但找不到它。有人可以帮我吗?我正在使用 typeorm

谢谢

最佳答案

我没有执行您所要求的操作的经验,但我确实找到了 this article关于 GIN 索引。所以如果你有这张表

CREATE TABLE test(id int, data JSONB, PRIMARY KEY (id));

您可以在其上创建 GIN 索引:

CREATE INDEX datagin ON books USING gin (data);

目前 TypeORM 似乎不支持这种类型的专用索引。请参阅this github issue 。但是您可以将 CREATE INDEXDROP INDEX 手动添加到 TypeORM 迁移 up()down()功能。

然后,您还需要运行自定义 SQL 来通过路径运算符 @>、<@ 使用索引:

select * from books where data @> '{"braille":true}'::jsonb;

你可以做什么with the EntityManager API :

const rawData = await manager.query(`select * from books where data @> '{"braille":true}'::jsonb`);

关于typescript - typeorm 在 jsonb 列属性上添加索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64763402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com