关于使用 nodejs 从 mongodb 中的特定集合增加数据值的问题
Question about incrementing data value, from a specific collection in mongodb with nodejs
所以我按照教程学习了一些关于 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>
所以基本上我想要实现的是,一旦我在页面上的某处按下按钮,它就会 increase/decrease 数据库中特定集合之一的值。我对此有点迷茫,我们将不胜感激。
找了很久,终于找到解决办法了。如果其他人遇到此问题,请参阅此 link:https://docs.mongodb.com/drivers/node/usage-examples/updateOne
所以我按照教程学习了一些关于 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>
所以基本上我想要实现的是,一旦我在页面上的某处按下按钮,它就会 increase/decrease 数据库中特定集合之一的值。我对此有点迷茫,我们将不胜感激。
找了很久,终于找到解决办法了。如果其他人遇到此问题,请参阅此 link:https://docs.mongodb.com/drivers/node/usage-examples/updateOne