У меня есть объекты в базе данных, у них есть массив рейтинг объектов, мне нужно, если идентификатор пользователя уже есть в этих объектах, обновить рейтинг , и если нет, добавить новый объект в массив с нормой и пользователем ID
Изображение документа:
Код:
router.post('/rating', (req, res) => {
// console.log(req.body)
let ID = 'f58482b1-ae3a-4d8a-b53b-ede80fe1e225';
// let user = '5e094d988ddbe02020e13879';
let user = 'asdadasdasd';
Habalka.find({
_id: ID
},
{rating: {$elemMatch: {user}}})
.then(res => {
if (res[0].rating.length) {
// Habalka.updateOne(
// {
// _id: ID,
// 'rating.user': user
// },
// {$inc:{"rating.$.rate.1":10}}
// )
// .then(resUpdate => {
// console.log(resUpdate)
// })
// **HERE I need to update rate if the user is already there**
} else {
// **HERE if there is no user, I need to insert an object with it and rate**
}
});
// console.log(req)
});
JSON Do c:
{
"_id":"f58482b1-ae3a-4d8a-b53b-ede80fe1e225",
"bio":{
"firstname":"Лена",
"lastname":"фыв",
"middlename":"",
"company":"вв"
},
"files":[
{
"_id":"2e4e40c7-4df6-4974-8d16-bb24cd8134d6",
"destination":"./uploads/f58482b1-ae3a-4d8a-b53b-ede80fe1e225",
"filename":"2e4e40c7-4df6-4974-8d16-bb24cd8134d6.mp3",
"path":"uploads\\f58482b1-ae3a-4d8a-b53b-ede80fe1e225\\2e4e40c7-4df6-4974-8d16-bb24cd8134d6.mp3",
"folder":"f58482b1-ae3a-4d8a-b53b-ede80fe1e225",
"info":{
"size":20805727,
"mimetype":"audio/mp3",
"encoding":"7bit",
"originalname":"Ахуевший Ленусик (Банк русский стандарт). Выпуск #5..mp3",
"fieldname":"selectedFile"
},
"userId":"5e05da745b21e61ccc84a892",
"date":"2019-12-27T10:19:12.213Z",
"guessId":{
"f58482b1-ae3a-4d8a-b53b-ede80fe1e225":[
"5e05da745b21e61ccc84a892",
"5e094d988ddbe02020e13879"
],
"b7d00dea-c872-43f4-b193-8454bef5cf85":[
]
}
},
{
"_id":"81b94dea-ece6-421c-b68a-0aa59332cd0d",
"destination":"./uploads/f58482b1-ae3a-4d8a-b53b-ede80fe1e225",
"filename":"81b94dea-ece6-421c-b68a-0aa59332cd0d.mp3",
"path":"uploads\\f58482b1-ae3a-4d8a-b53b-ede80fe1e225\\81b94dea-ece6-421c-b68a-0aa59332cd0d.mp3",
"folder":"f58482b1-ae3a-4d8a-b53b-ede80fe1e225",
"info":{
"size":13515683,
"mimetype":"audio/mp3",
"encoding":"7bit",
"originalname":"Выпуск #75 Попрошайка НСВ..mp3",
"fieldname":"selectedFile"
},
"userId":"5e05da745b21e61ccc84a892",
"date":"2019-12-27T10:25:37.710Z",
"guessId":{
"b7d00dea-c872-43f4-b193-8454bef5cf85":[
"5e05da745b21e61ccc84a892",
"5e094d988ddbe02020e13879"
],
"f58482b1-ae3a-4d8a-b53b-ede80fe1e225":[
]
}
}
],
"date":"2019-12-27T10:19:12.213Z",
"__v":1,
"rating":[
{
"rate":4,
"user":"5e094d988ddbe02020e13879"
},
{
"rate":3,
"user":"asdadasdasd"
}
]
}