I have in Rails a jsonb column on table profile with the following structure
add_column :profile, :properties, :jsonb, default: {}
user.build_profile(
properties: {
languages: [
{name: "German", level: 3},
{name: "Russian", level: 2},
{name: "English", level: 3}
],
skills: ['Alpha', 'Beta', 'Gamma']
}
)
user.build_profile(
properties: {
languages: [
{name: "German", level: 2},
{name: "Russian", level: 3},
{name: "Spanish", level: 3}
],
skills: ['Alpha','Beta']
}
)
user.build_profile(
properties: {
languages: [
{name: "Italian", level: 2},
{name: "Spanish", level: 3}
],
skills: ['Gamma']
}
)
I am able to retrieve one Language like so
@profiles.where("properties @> ?", {'languages': [{'name':'German'}] }.to_json)
and multiple skills (x OR y) like so
@profiles.where("properties -> 'skills' ?| array[:skills]", skills: ['Alpha', 'Beta'])
BUT I need to retrieve MULTIPLE languages query term German and Russian
How can I achieve?
Thanks in advance