У меня есть коллекция пользовательских документов, каждый со встроенным массивом клиентов. Каждый объект в массиве имеет идентификатор клиента.
Я хотел получить пользовательский документ с клиентом, в массиве клиентов, у которого clientID совпадает с переданным clientID.
Но все примеры, с которыми я сталкивался, просто извлекают объект вместо этоговозврата документа. Я хотел сделать это, используя библиотеку mgo
var results []model.Clients
err := db.C("users").Find(nil).Select(bson.M{"clients": bson.M{"$elemMatch":q }}).All(&results)
. Выше приведен только массив клиентов. Но я хотел массив пользователей.
[
{
"userID": "1",
clients: [
{
"clientID": "12",
"data": {},
"customers": [
"customerID": "0123",
"data": {
}
]
},
{
"clientID": "123",
"data": {},
"customers": [
"customerID": "0123",
"data": {
}
]
}
]
},
{
"userID": "2",
clients: [
{
"clientID": "12",
"data": {},
"customers": [
"customerID": "0123",
"data": {
}
]
},
{
"clientID": "13",
"data": {},
"customers": [
"customerID": "0123",
"data": {
}
]
}
]
}
]