Я пытаюсь реализовать ограничение поля, похожее на API Spotify
, т.е. items(a,b(c,d))
выберет items.a, items.b. c, items.bd
In в моем случае у меня есть заполненное поле (добавлено) в моем основном документе (track.items)
"tracks": {
"href": "https://api.spotify.com/v1/playlists/5e8a3a6e263b6431749b1c2f/tracks",
"items": [
{
"is_local": false,
"_id": "5e8a3d7214fc7751301abd87",
"added_at": "2020-04-05T20:20:02.773Z",
"added_by": {
"type": "artist",
"_id": "5e8a399a263b6431749b1c27",
"name": "Artist Account",
"uri": "spotify:user:5e8a399a263b6431749b1c27",
"id": "5e8a399a263b6431749b1c27"
}
]
}
Я хочу выбрать поля внутри заполненного поля (добавлено_by), отправив запрос на ограничение tracks.items.added_by(type,name)
, но без необходимости синтаксического анализа строки вручную для вызова объекта выбора mon goose по населению, поскольку действительно сложно проанализировать строку для многих заполненных полей
Что я имею в виду, в моем коде у меня есть это
Playlist.findById(playlistId, queryObject)
.populate([
{
path: 'tracks.items.track',
select: populationFields,
populate: [
{
path: 'album',
select:
'album_type artists id images name type uri external_urls href',
populate: {
path: 'artists',
select: 'external_urls href id name type uri'
}
},
{
path: 'artists',
select: 'external_urls href id name type uri'
}
]
},
{
path: 'tracks.items.added_by',
select: 'name id type uri href'
}
]),
queryParams
)
Я хочу легко реализовать запрос ограничения поля, показанный выше