У меня есть набор идентификаторов.
let ids = ["5ae03c56dc0e82410d2746d7", "5ae05bf146e0fbeeb1869d7b", "5ae03c56dc0e82fd2f2746d6", "5ae04788c9e77cb0a03b3228", "5adefec246e0fb1c23f5ba6b", "5ae8498edc0e82c7cbad5026", "5ae84b4fc9e77c5db6fbf3f8"]
У меня также есть набор данных, который выглядит следующим образом.
{
"interactions":[
{
"author":{
"id":"10158567383880542",
"name":"Stephen Wilson"
},
"meta":{
"tags":[
{
"id":"5ae04788c9e77cb0a03b3228"
},
{
"id":"5ae04788c9e77cb0a03b365"
}
]
}
}
]
}
Внутри массива взаимодействий есть несколько объектов. Есть свойство, называемое «мета», внутри мета есть свойство типа «массив», называемое «теги».
Я хочу сопоставить массив идентификаторов, чтобы найти и вернуть любые взаимодействия, где meta.tags.id равен любому из идентификаторов.
let matches = _(interactions)
.keyBy('meta.tags.id')
.at(ids)
.value();
Проблема с этой попыткой заключается в том, что meta.tags является массивом.