NodeとMongoDBを使用したサインアップフォーム
この記事では、いくつかのパラメーターを持つ簡単なユーザーサインアップフォームを作成します。 [保存]をクリックすると、すべてのユーザーの詳細がMongoDBデータベースに保存されます。
インストール
サインアップフォームの作成に進む前に、次の依存関係をシステムに正常にインストールする必要があります。
-
次のコマンドを使用して、Expressを確認してインストールします。 Expressは、HTTPリクエストに応答するミドルウェアを設定するために使用されます
npm install express --save
-
HTTPPOSTデータを読み取るための「body-parser」ノードモジュールをセットアップします。
npm install body-parser --save
-
ノードのMongoDBドライバーの上にある「mongoose」をセットアップします。
npm install mongoose --save
例1
-
次のファイルを作成し、以下に示す各ファイルに関するコードスニペットをコピーして貼り付けます-
-
app.js
-
public(新しいフォルダを作成し、このフォルダ内に以下のファイルを貼り付けます。)
-
index.html
-
success.html
-
style.css
-
-
-
次に、次のコマンドを実行してアプリケーションを実行します。
node app.js
コードスニペット
app.js
var express=require("express"); var bodyParser=require("body-parser"); const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/tutorialsPoint'); var db=mongoose.connection; db.on('error', console.log.bind(console, "connection error")); db.once('open', function(callback){ console.log("connection succeeded"); }) var app=express() app.use(bodyParser.json()); app.use(express.static('public')); app.use(bodyParser.urlencoded({ extended: true })); app.post('/sign_up', function(req,res){ var name = req.body.name; var email =req.body.email; var pass = req.body.password; var phone =req.body.phone; var data = { "name": name, "email":email, "password":pass, "phone":phone } db.collection('details').insertOne(data,function(err, collection){ if (err) throw err; console.log("Record inserted Successfully"); }); return res.redirect('success.html'); }) app.get('/',function(req,res){ res.set({ 'Access-control-Allow-Origin': '*' }); return res.redirect('index.html'); }).listen(3000) console.log("server listening at port 3000");
index.html
<!DOCTYPE html> <html> <head> <title> Signup Form</title> <link rel="stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity= "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <br> <br> <br> <div class="container" > <div class="row"> </div> <div class="main"> <form action="/sign_up" method="post"> <h1>Welcome to Tutorials Point - SignUp</h1> <input class="box" type="text" name="name" id="name" placeholder="Name" required /><br> <input class="box" type="email" name="email" id="email" placeholder="E-Mail " required /><br> <input class="box" type="password" name="password" id="password" placeholder="Password " required/><br> <input class="box" type="text" name="phone" id="phone" placeholder="Phone Number " required/><br> <br> <input type="submit" id="submitDetails" name="submitDetails" class="registerbtn" value="Submit" /> <br> </form> </div> <div class=""> </div> </div> </div> </body> </html>
success.html
<!DOCTYPE html> <html> <head> <title> Signup Form</title> <link rel="stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity= "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <br> <br> <br> <div class="container" > <div class="row"> <div class="col-md-3"> </div> <div class="col-md-6 main"> <h1> Signup Successful</h1> </div> <div class="col-md-3"> </div> </div> </div> </body> </html>
style.css
.main{ padding:20px; font-family: 'Helvetica', serif; box-shadow: 5px 5px 7px 5px #888888; } .main h1{ font-size: 40px; text-align:center; font-family: 'Helvetica', serif; } input{ font-family: 'Helvetica', serif; width: 100%; font-size: 20px; padding: 12px 20px; margin: 8px 0; border: none; border-bottom: 2px solid #4CAF50; } input[type=submit] { font-family: 'Helvetica', serif; width: 100%; background-color: #4CAF50; border: none; color: white; padding: 16px 32px; margin: 4px 2px; border-radius: 10px; } .registerbtn { background-color: #4CAF50; color: white; padding: 16px 20px; margin: 8px 0; border: none; cursor: pointer; width: 100%; opacity: 0.9; }
出力
次に、Webブラウザでこのリンクを試してください。登録ページが表示されます。
https://127.0.0.1:3000/index.htmlまたはhttp:// localhost:3000 / index.html
C:\Users\tutorialsPoint\> node app.js server listening at port 3000 (node:73542) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect. (node:73542) [MONGODB DRIVER] Warning: Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor. connection succeeded
サインアップページ
成功ページ
mongoDBに正常に挿入されたレコード
-
MongoDBとPython
MongoDBは、広く使用されているドキュメントデータベースであり、NoSQLDBの形式でもあります。 Pythonは、いくつかのpythonモジュールを介してMongoDBと対話し、MongoDB内でデータを作成および操作できます。この記事では、その方法を学びます。ただし、PythonがMongoDBに接続して実行する前に、MongoDBがシステムですでに使用可能になっている必要があります。システムにMongoDBをセットアップするには、MongoDBチュートリアルにアクセスしてください。 ここに.. pymongoをインストールする MongoDBと対話するには、モジュール名pymong
-
MongoDBの集約と投影?
このために、aggregate()と一緒に$projectを使用します。集約された$projectは、要求されたフィールドを持つドキュメントをパイプラインの次のステージに渡します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo762.insertOne({ ... "_id" : { ... "userId":101, ... "userName":"Chris" ...