Я пытаюсь получить ответ ниже на запрос.
{
users:[
user:{
name:"",
email:[
]
},
....user2
]
}
У меня есть что-то похожее на ниже.
Я скажу так. У одного пользователя может быть n устройств. Он может иметь более одного электронного письма на устройство. Я хочу группировать на устройствах. И пользовательское поле должно иметь общую информацию для этого устройства. Как мы думаем, имя всегда будет одинаковым. Атрибуты спецификаций c устройства также необходимы, например whatKindOfDevice, howManyIssuesAreThereInThatDevice, howManyCanBeAddressedByUpgrade, howManyAreRare, et c .. наряду с этим мне нужно получить все электронные письма, используемые в этом устройстве, такие как владелец, пользователь, ассоциативная связь - все электронные письма помещены.
Думаю, мой идентификатор документа не связан с одним пользователем, одним устройством. Один пользователь может иметь любое количество устройств. Одно устройство может иметь n Количество документов.
$group:{
"_id":"user_device_id",
"user": {
"$addToSet": {
"name":"$name",
"deviceName":"$deviceName",
"email": {"$addToSet":{}} //Something Similar I am expecting
}
}
}
Если я добавлю внешнего пользователя электронной почты, он будет работать - но это повлияет на требуемый формат ответа.
Возможно ли или каким-либо другим способом получить аналогичный ответ через запрос?
Предположим, у одного пользователя может быть несколько документов. В каждом do c могут быть одинаковые или повторяющиеся идентификаторы электронной почты. Я пытаюсь собрать это вместе.
Пожалуйста, сообщите.
Пример Do c:
{
_id:ObjectId,
name:"user1",
email:"a@yahoo.com"
},
{
_id:ObjectId,
name:"user1",
email:"a@device.com"
},
..user2Doc
..user1Doc with another category, duplicate email i.e a@yahoo.com
..user2Doc with new email
..