Мой json в базе данных rethinkdb выглядит следующим образом (в качестве примера я привел 4 документа):
{
"label": {
"id": 59,
"country": "Germany",
"formats": {
"format": {
"text": "",
"name": "CD",
"qty": 1,
"descriptions": {
"description": [
"Album",
"Limited Edition"
]
}
}
}
}
}
{
"label": {
"id": 60,
"country": "US",
"formats": {
"format": {
"text": "",
"name": "CD",
"qty": 1,
"descriptions": {
"description": "Album"
}
}
}
}
}
{
"label": {
"formats": {
"format": {
"text": "",
"name": "Vinyl",
"qty": 1,
"descriptions": {
"description": [
"12\"",
"33 ⅓ RPM"
]
}
}
},
"country": "US",
"id": 42
}
}
{
"label": {
"formats": {
"format": {
"text": "",
"name": "Vinyl",
"qty": 1,
"descriptions": {
"description": "12\""
}
}
},
"country": "US",
"id": 10
}
}
Я хотел бы отфильтровать те ярлыки, которые являются альбомами. Тег описания содержит эту информацию. Однако этот элемент иногда является массивом, иногда строкой. Мне нужны те ярлыки, которые содержат значение «Альбом» независимо от типа данных. Пока я могу получить только те значения, где «описание» является строкой. Это код, который я могу использовать до сих пор:
r.table("labels")('label').filter(r.row("formats")("format")("descriptions")("description").eq("Album"))('id')
Есть ли способ получить даже те значения идентификатора, где альбом также существует в массиве? заранее спасибо