В моей базе данных MongoDB у меня есть массив (parent_archive_uids) для каждой записи, который содержит один или несколько UIDS. В качестве ответа на мой запрос я хочу получить отдельную запись для каждого элемента в этом массиве вместе с другой строкой (filename.value).
В настоящее время у меня есть следующий запрос:
db.files.aggregate( [
{ $match: {'filename.value': {'$exists': true, '$not': {'$size': 0}}}},
{ $group: {'_id': '$parent_archive_uids', 'Filename': {'$push': '$filename.value'},}},
] )
Это дает мне следующий результат:
{
"_id" : [
"4e1dd3d462764bc067cf398e70cfa16a653f39badbc5687fa61b6108bf0f3679_27288071",
"bfa178455b9bba5e748897d41f183d3837a51243d0364374c1fa8eea376cab27_27288067"
],
"Filename" : [
"File1"
]
}
Но я хотел бы получить отдельную запись для каждого элемента в массиве, например:
{
"_id" : [
"4e1dd3d462764bc067cf398e70cfa16a653f39badbc5687fa61b6108bf0f3679_27288071"
],
"Filename" : [
"File1"
]
}
{
"_id" : [
"bfa178455b9bba5e748897d41f183d3837a51243d0364374c1fa8eea376cab27_27288067"
],
"Filename" : [
"File1"
]
}
Возможно ли это с MongoDB запрос? Я пытался, но потерпел неудачу.