Bắt đầu từ mongoDB 3.6, bạn có thể sử dụng biến XÓA để loại trừ các trường có điều kiện.
Trong trường hợp cụ thể của bạn, giai đoạn dự án sẽ giống như sau:
aggregate.project({
_id: 1,
last: { $cond: [ { $eq : [ '$_id', 'undo' ] }, '$date', '$$REMOVE' ] },
user: { $cond: [ { $eq : [ '$_id', 'undo' ] }, '$user', '$$REMOVE' ] },
app: { $cond: [ { $eq : [ '$_id', 'undo' ] }, '$app', '$$REMOVE' ] }
});