Đến bữa tiệc hơi muộn, nhưng ..
Tôi cũng muốn làm điều tương tự và nhận thấy rằng tôi có thể hoàn thành nó với một biểu thức như sau:
// Pushes events only if they have the value 'A'
"events": {
"$push": {
"$cond": [
{
"$eq": [
"$event",
"A"
]
},
"A",
"$noval"
]
}
}
Suy nghĩ ở đây là khi bạn làm
{ "$push": "$event" }
thì nó dường như chỉ đẩy các giá trị không rỗng.
Vì vậy, tôi đã tạo một cột không tồn tại, $ noval, để được trả về dưới dạng điều kiện sai của $ cond của tôi.
Nó dường như hoạt động. Tôi không chắc liệu nó có phải là không đạt tiêu chuẩn hay không và do đó dễ bị hỏng vào một ngày nào đó nhưng ..