也许题目不是最好的,但我不知道如何用一句话来解释得更好。
因此,要获得上下文,最好的方法是查看我在JavaScript中为Supplier执行的查询及其响应。
数据:
[
{
title: 'El Hobbit',
slug: 'el-hobbit-libro-g3kCYxiIII',
categories: { slug: 'libro', title: 'Libro' },
tags: [
{ slug: 'epico', title: 'Épico' },
{ slug: 'fantasia', title: 'Fantasía' }
]
},
{
title: 'Orgullo y Prejuicio (2005)',
slug: 'orgullo-y-prejuicio-pelicula-2005-lQoqYD5QuV',
categories: { slug: 'pelicula', title: 'Película' },
tags: [
{ slug: 'romance', title: 'Romance' },
{ slug: 'romance-historico', title: 'Romance histórico' },
{ slug: 'drama', title: 'Drama' }
]
}
]
字符串
函数中的查询:
async function getReviews() {
try {
let query = supabase
.from('reviews')
.select(
`
title,
slug,
categories ( title, slug ),
tags ( title, slug )
`
)
.eq('published', true)
const { data: reviews } = await query
return reviews
} catch (error) {
console.error('Error fetching reviews:', error)
}
}
型
所以我想做的是只显示tags对象中的slug的记录,例如,“romance”。该记录也应该显示它的所有标签。
我试过什么
我试着做了一个过滤器
async function getReviews() {
try {
// fetch reviews from supabase
let query = supabase
.from('reviews')
.select(
`
title,
slug,
categories ( title, slug ),
tags ( title, slug )
`
)
.eq('published', true)
.in('tags.slug', ['romance'])
const { data: reviews } = await query
return reviews
} catch (error) {
console.error('Error fetching reviews:', error)
}
}
型
输出(注意标签):
[
{
title: 'El Hobbit',
slug: 'el-hobbit-libro-g3kCYxiIII',
tags: [],
categories: { slug: 'libro', title: 'Libro' }
},
{
title: 'Orgullo y Prejuicio (2005)',
slug: 'orgullo-y-prejuicio-pelicula-2005-lQoqYD5QuV',
tags: [{ slug: 'romance', title: 'Romance' }],
categories: { slug: 'pelicula', title: 'Película' }
}
]
型
但我期待的是
[
{
title: 'Orgullo y Prejuicio (2005)',
slug: 'orgullo-y-prejuicio-pelicula-2005-lQoqYD5QuV',
categories: { slug: 'pelicula', title: 'Película' },
tags: [
{ slug: 'romance', title: 'Romance' },
{ slug: 'romance-historico', title: 'Romance histórico' },
{ slug: 'drama', title: 'Drama' }
]
}
]
型
我知道这可能是一个愚蠢的问题,但我是一个新的与postgres和supplies。希望你们能给予我一只手。非常感谢提前!
1条答案
按热度按时间jexiocij1#
我想这段代码可以帮助你得到所有的数据,它的标签数组包含“浪漫”。
字符串
使用
cs
方法,您可以检查tags:slug
是否包含“浪漫”存在。如果这不起作用,或者即使您得到了更接近您想要的结果,我也会感谢帮助。