NojeJs Mongoose - вставьте объект массива в монго, если данные не существуют

Я очень новичок в nodejs. Я хочу проверить в mongodb, существует ли значение или нет, если существует, обновить ссылку, если не существует, я хочу поместить объект в массив. Может ли кто-нибудь помочь мне, как написать заявление, чтобы проверить, существует ли значение или нет в БД? Итак, это мой последний код. у меня проблема, если у пользователя еще нет данных партнерской ссылки в монго, журнал должен быть item is not existed, но я получаю item is existed. Кто-нибудь может проверить мой код? Пожалуйста помоги

Итак, это схема Admin

{        
  "_id": "868",
  "name": "James",
  "__v": 0,
  "affiliatelink": [
    {
      "storeId": "12345",
      "storeName": "white choc",
      "linkview": 1
    },
    {
      "storeId": "67890",
      "storeName": "dark choc",
      "linkview": 2
    },
  ]
}

{        
  "_id": "135",
  "name": "Marrie",
  "__v": 0,
  "affiliatelink": []
}


Мой текущий код.

Admin.findById(adminId,{"affiliatelink.storeId":storeId}).then(admin =>{
        if(admin){
            Admin.update(
                { _id: adminId},
                {$inc: {"affiliatelink.$[elem].linkview": 1}},
                {arrayFilters: [{"elem.storeId": {$eq: storeId}}]},
                function(err){
                    console.log("item is existed")
                }
                
            )}else
            {
                let item = {
                    store: storeSlug,
                    storeId: storeId,
                    linkview: 0,
                    addtocart: 0,
                    totalpricecheckout: 0
                }

                Admin.update(
                    { _id: adminId },
                    {$push: {
                        affiliatelink: item
                            }
                    },
                    function(err, result) {
                        console.log("item is not existed")
  
            })}
 

person husna yaman    schedule 14.02.2021    source источник
comment
Отвечает ли это на ваш вопрос? MongoDB — обновить или вставить объект в массив   -  person turivishal    schedule 14.02.2021
comment
Нет прямого способа сделать это в одном запросе, но если вы хотите, вы можете попробовать обновить с помощью конвейера агрегации недавно у меня есть ответил на вопрос выше.   -  person turivishal    schedule 14.02.2021
comment
@turivishal теперь работает. я меняю свой код на что-то вроде этого ` Admin.findOne({_id: adminId,affiliatelink.storeId:storeId}).then(admin =›{`. теперь это уже работает. спасибо всем   -  person husna yaman    schedule 14.02.2021