当前位置: 首页 > 知识库问答 >
问题:

在jsons postgres typeORM节点js的数组中查找

伊羽
2023-03-14

@Entity({name:'Report'})导出类Report扩展BaseEntity{

@PrimaryGeneratedColumn()
public id: number;

@Column({name: 'dates_parsed', type: 'jsonb'})
public datesParsed: any;

}

我想找到每天都在哪里的所有报告

使用SQL在PgAdmin我能够找到正确的数据使用下一个查询

SELECT  r.id, p ->> 'day' as day
FROM   "reports" r, jsonb_array_elements(r.dates_parsed) p
where (p->>'day')::int > 3

或者

SELECT * FROM "reports" r
WHERE r.id IN (SELECT  t.id
FROM   "reports" t, jsonb_array_elements(t.dates_parsed) p
where (p->>'day')::int > 3)

我们无法在中使用jsonb_数组_元素from it expected entityTarget

    const qb = this.createQueryBuilder(`reports`)
        .where(qb2 => {
            const subQuery = qb.subQuery()
                .select('report.id')
                .from(Report, 'report')
                .from('jsonb_array_elements(report.dates_parsed)', 'dates')
                .where(`(dates->>'day')::int > 3`)
                .getQuery();
            return `reports IN ` + subQuery;
        });

我们不能创建这样的查询,因为解析的在以下位置是不可见的

    const qb = this.createQueryBuilder(`reports`);
    qb.where(qb2 => {
        const subQuery = qb.subQuery()
            .select('report.id')
            .select('jsonb_array_elements(report.dates_parsed)', 'parsed')
            .from(Report, 'report')
            .where(`(parsed->>'day')::int > 3`)
            .getQuery();
        return `reports IN ` + subQuery;
    });

如果我想在表中查找数据,如何使用typeorm创建查询。一天等于五天

[{"id":"1","date解析": [ { "天": 6 }, { "天": 3 } ], "id":"2", dates解析": [ { "天": 10 }, { "天": 5 } ], ]

  • []极光数据api

共有1个答案

林玮
2023-03-14

如何解决此问题的一个示例


const qb = this.createQueryBuilder(`reports`);
 
qb.andWhere((`reports.id IN (SELECT  t.id FROM   "reports" t, jsonb_array_elements(t.dates_parsed) p where (p->>'day')::int = 5)`));

 类似资料:
  • 我有一个APIhttp://studentresults.com/studentresults?studentname=xyz 通过上面的url,我得到了考试当天学生姓名的信息。我可以通过使用node js解析url来获取单个学生的信息。现在我有15个学生。如何获取考试当天的所有信息,以便创建 在上面的url中,通过改变学生的名字,我们得到一个学生的详细信息。如果我需要得到所有的学生的详细信息,如

  • 这个问题来自一个很棒的YouTube频道,给出了可以在采访中提出的问题。 它基本上与寻找数组中的平衡点有关。这里有一个例子来最好地解释它;{1,2,9,4,-1}.因为sum(1 ^ 2)= sum(4(-1))使9成为平衡点。在没有检查答案的情况下,我决定先实现这个算法,想问问是否有更有效的方法; < li >对数组O(n)中的所有元素求和 得到总数的一半O(1) < li >从左侧开始扫描数组

  • 我有一个集合,其中显示了用户最喜爱的电影列表。这是一个示例数据集。。。 现在给定_id和一部电影 如果我需要把这个加到watched_movies,在Node.js/MongoDB,我相信唯一的方法是 使用“查找”查找文档 步骤#2基于此处的示例http://mongodb.github.io/node-mongodb-native/markdown-docs/insert.html 有更好的方法

  • 本文向大家介绍在C ++中查找数组中的分区点,包括了在C ++中查找数组中的分区点的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将在数组中找到分区点,该数组中所有剩余的元素都很小,而所有剩余的元素都很大。 让我们看看解决问题的步骤。 初始化数组。 遍历数组。 从0迭代到I,然后检查每个值是否小于当前值。 从I迭代到n,并检查每个值是否大于当前值。 如果机器人满足条件,则返回该值。 打印

  • 问题内容: 给定一个字节数组,我如何在其中找到(较小)字节数组的位置? 使用,该文档看起来很有希望,但是如果我正确的话,那只会让我在要搜索的数组中找到一个单独的字节。 (我认为这并不重要,但以防万一:有时搜索字节数组将是常规的ASCII字符,有时是控制字符或扩展的ASCII字符。因此使用String操作并不总是合适的) 大数组可能在10到10000个字节之间,而小数组大约在10个字节。在某些情况下

  • 问题内容: 我正在使用Selenium来测试我的Web应用程序,并且可以使用成功找到标签。但是,我时不时需要在该节点内找到子节点。 例: 我可以: 但是现在我需要找到输入,所以我可以这样做: 但是,到那时,我只拥有了代码,不再具有xpath了……我想做这样的事情: 但是这种功能不存在。我可以这样做吗? 顺便说一句:有时我需要找到一个具有一定下降节点的。如何在xpath中询问“ 包含带有文本的”?