-
Привет, у меня есть запрос агрегации с поиском, мне нужно спроектировать определенные поля из этого поиска и нарезать их. Это то, что я сделал до сих пор.
{
$lookup: {
from: 'users',
localField: 'users',
foreignField: '_id',
as: 'users',
}},
Я добавил выражение для размотки
{
$unwind: {
path: '$users',
preserveNullAndEmptyArrays: true
}},
Я добавил групповой оператор
{
$group: {
_id: {
_id: '$_id',
createdAt: '$createdAt',
updatedAt: '$updatedAt'
},
users: {
$addToSet: '$users',
}
}
},
И чтобы спроектировать определенные поля в массиве пользователей, я сделал:
{
$project: {
_id: '$_id._id',
createdAt: '$_id.createdAt',
updatedAt: '$_id.updatedAt',
// users: {
// $slice: [
// "$users",
// skip,
// limit
// ]
// },
users: {
$map: {
input: '$users',
as: 'user',
in: {
email: '$$user.email',
name: '$$user.name',
username: '$$user.username',
updatedAt: '$$user.updatedAt'
}
}
}
}},
Мой вопрос: как я могу использовать $ slice в этой области?