In products collection, i have an Array of recentviews which has 2 fields viewedBy & viewedDate.
In a scenario if i already have a record with viewedby
, then i need to update it. For e.g if i have array like this :-
recentviews : [
{
viewedby : abc,
vieweddate : ISODate(2014-05-08T04:12:47.907Z)
}
]
And user is abc
, so i need to update the above & if there is no record for abc
i have to $push
.
I have tried $set
as follows :-
db.products.update( { _id: ObjectId(536c55bf9c8fb24c21000095) },
{ $set:
{ recentviews:
{
viewedby: 'abc',
vieweddate: ISODate(2014-05-09T04:12:47.907Z)
}
}
}
)
The above query erases all my other elements in Array.