У меня есть вопрос к документам вроде.
[
{
type:"general",
viewers:[
{userId:"1", viewedAt:"10 Aug"},
{userId:"2", viewedAt:"12 Aug"}
]
},
{
type:"programming",
viewers:[
{userId:"3", viewedAt:"1 Aug"},
{userId:"2", viewedAt:"19 Aug"}
]
}
]
И ожидаемый результат добавить дополнительное поле с именем viewed
:
если задано userId
предположим, что userId:1
есть в списке зрителей, тогда добавьте viewed:true
иначе viewed:false
следующим образом:
[
{
"type":"general",
"viewed":"true"
},
{
"type":"general",
"viewed":"false"
}
]
Я пробовал этот код, но выдает ошибку:
Question.aggregate([
{
$project:{
type:1,
viewed:{
$cond:[
{$viewedBy:{"userId":1}},"true","false"
]
}
}
}
])
P.S: Я немного обновил свой вопрос, у объектов в средствах просмотра есть несколько пар ключ-значение. т.е. userID
, viewedAt
, filledAt