Вопрос об увеличении значения данных из определенной коллекции в mongodb с помощью nodejs

#node.js #mongodb #collections #numbers #increment

#node.js #mongodb #Коллекции #числа #увеличение

Вопрос:

Итак, я следовал руководству, которое научило меня некоторым вещам о nodejs и mongodb. Теперь я знаю, как вставлять новые данные с сервера в мою базу данных.

Но, похоже, я не могу понять, как обновить существующие данные в коллекции. Я искал во многих местах, но, к сожалению, для меня нет четкого ответа. Я все еще немного новичок в этом, поэтому извините меня, если я говорю вещи, которые, вероятно, ошибочны.

Итак, это то, что я пытался настроить:

Код из моего Controller.js:

       app.get("/button", function(req, res) {
      mongo.connect(url_monitor, function (err, db) {
          assert.equal(null, err);
          db.numbers.update({ $inc: { number: -2}})
          getData(res);
        })
  })
  
} 

Я использую модель MVC, которая имеет: контроллер, модель и представление. Таким образом, все страницы в папке просмотра являются файлами .ejs. Я также использую jQuery и ajax для отправки запроса контроллеру.

button.js:

 $(document).ready(function(){
$('#btn1').on('click', function(){
    var number =  {number: 0}
    $.ajax({
      type: 'GET',
      url: '/button',
      data: number,
      success: function(number){
        //do something with the data via front-end framework
        location.reload();
        alert('It works')
      }
    });
});
}) 

button.ejs:

 <!DOCTYPE html>
<html lang="en">
<head>
    <script
  src="https://code.jquery.com/jquery-3.5.1.min.js"
  integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
  crossorigin="anonymous"></script>
    <script src="/assets/button.js"></script>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Todo List</title>
    
  <link href="/assets/styles.css" rel="stylesheet" type="text/css">
</head>
<body>
    <h1>Button test</h1>
<button id="btn1">Increase number</button>
</body>
</html> 

Итак, в основном я пытаюсь добиться того, что, как только я нажимаю кнопку где-нибудь на странице, это увеличивает / уменьшает значение в базе данных в одной из конкретных коллекций. Я немного запутался в этом, буду признателен за любую помощь.

Ответ №1:

После очень долгого поиска я наконец нашел решение. Если у кого-то еще возникла эта проблема, перейдите по этой ссылке: https://docs.mongodb.com/drivers/node/usage-examples/updateOne