У меня есть динамические вложенные поля, такие как user.com1.grp1.history
, который history
представляет собой набор хеш-таблиц.
Структура образца:
{
_id: "123456",
user: {
com1: {
grp1: {
history: [
{
action: "something",
...
}
...
]
},
grp2: {
history: [
{
action: "something else"
...
}
...
]
},
},
com2: {
...
}
}
}
Когда я хочу получить последний элемент history
для grp
с, этот способ работает нормально:
db.user.find({}, {user.com1.grp1.history: {$slice: -1}})
Но проблема здесь в том, что com
s и grp
s являются динамическими именами, и каждый user
содержит много динамических com
s, а каждый com
содержит много динамических grp
s, и я не могу запрос вызова для каждого из них.
Так, как я могу получить последние предметы каждого com/grp
history
в этой ситуации?