Saya cuba menapis medan jenis json yang mengandungi rentetan kerana saya ingin mencari semua kandungan json
this._prismaService.service.findMany({ ...args, where: { OR: [ { nameTranslatableJson: { string_contains: filters.search, }, }, ], }, });
Tetapi penapis ini tidak berfungsi untuk saya, saya tidak dapat menentukan laluan kerana ia perlu menapis dari akar
Struktur json adalah seperti ini
{ "defaultText": "Prueba???", "ES": "What???", "EN": "What???" }
Bagaimana untuk menapis mana-mana kandungan json dari direktori akar atau adakah terdapat cara alternatif untuk melakukan penapisan
Jika anda ingin melakukan carian teks pada semua nilai medan JSON, anda biasanya perlu menggunakan fungsi atau pengendali khusus pangkalan data. Untuk PostgreSQL, anda boleh menggunakan
jsonb_to_tsvector
函数将JSONB数据转换为tsvector
dan kemudian menggunakan fungsi carian teks penuh PostgreSQL.Berikut ialah contoh cara menggunakan pertanyaan SQL mentah dengan fungsi
prisma.$queryRaw
函数编写使用jsonb_to_tsvector
: