我希望将按钮按钮存储在一个文档中,然后我可以将其存入集合

时间:2018-01-09 17:19:43

标签: javascript node.js mongodb

我有我的nodejs服务器代码,每次单击按钮时都会向我的数据库添加一个单击。我希望按钮单击存储在稍后可以放入集合的文档中。如果您需要客户端代码,请告诉我。什么都有帮助。谢谢。

console.log('Server-side code running');

const express = require('express');
const MongoClient = require('mongodb').MongoClient;

const app = express();


app.use(express.static('public'));


let db;


const url = 'mongodb://localhost:27017/clicks';

MongoClient.connect(url, (err, database) => {
  if (err) {
    return console.log(err);
  }
  db = database;
  // start the express web server listening on 8080
  app.listen(8080, () => {
    console.log('listening on 8080');
  });
});


app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
});


app.post('/clicked', (req, res) => {
  const click = {
    clickTime: new Date()
  };
  //console.log(click);
  //console.log(db);

  db.collection('clicks').save(click, (err, result) => {
    if (err) {
      return console.log(err);
    }
    console.log('click added to db');
    res.sendStatus(201);
  });
});


app.get('/clicks', (req, res) => {
  db.collection('clicks').find().count((err, result) => {
    if (err) return console.log(err);
    res.end(result + '');
  });
});
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>Node + Express + MongoDb</title>
  <style>
    h1 {
      text-align: center;
    }
    
    p {
      text-align: center;
    }
    
    .button-center {
      text-align: center;
      padding-top: 50px;
    }
    
    #myButton {
      height: 50px;
      width: 150px;
      border: 2px solid black;
    }
  </style>
</head>

<body>
  <h1 id="counter">Loading button click data.</h1>
  <div class="button-center">
    <button id="myButton">The Button</button>
  </div>
</body>
<script src="client.js"></script>

</html>

我有我的nodejs服务器代码,每次单击按钮时都会向我的数据库添加一个单击。我希望按钮单击存储在稍后可以放入集合的文档中。如果您需要客户端代码,请告诉我。什么都有帮助。谢谢。

0 个答案:

没有答案