我希望用戶以我創建的表單輸入資料,并且我希望將資料發送到 mongodb atlas。
所以我在本地托管表單,它給了我一個錯誤“未定義要求”。
我的問題是我是否必須捆綁 mongodb 模塊,或者有沒有辦法在不捆綁的情況下做到這一點。
這是代碼。
我使用 VSCODE 實時擴展來托管。
document.querySelector(`input[type="submit"]`).onclick = () =>
{
var x = document.forms["form1"]["username"].value;
var password = document.forms["form1"]["password"].value;
var email ={
name : `${x}`,
password : `${password}`
};
if(document.querySelector(`input[type="checkbox"]`).checked){
var json = JSON.stringify(email);
var MC = require('mongodb').MongoClient;
var url = "mongodb srv://<username>:<password>@cluster0.xjoqb.mongodb.net/myFirstDatabase?retryWrites=true&w=majority";
MC.connect(url, (err, db) => {
if (err) {
throw err;
}
console.log(`Connected`);
var data = db.db(`mydb`);
data.createCollection(`first`, (err, res) => {
if (err) throw err;
console.log(`collection created`)
});
data.collection(`first`).insertOne(email, (err, res) => {
if(err) throw err;
console.log(`inserted`);
db.close();
});
});
}
}
這是html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="google-signin-client_id" content="707054985283-cirkm54740d0pm838hrgq7etkp3hu3ej.apps.googleusercontent.com">
<title>Document</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<fieldset>
<h1 id="greeting">Welcome Back</h1>
<p id="greeting2">Let's Get Signed In</p>
<form name="form1" method="POST" autocomplete="off" spellcheck="false">
<div data-onsuccess="onSignIn"></div>
<div >
<input type="text" id="name" name="username" placeholder="Enter Your Email Address">
<img src="https://img.icons8.com/windows/50/000000/name.png" >
</div>
<div >
<input type="password" id="pass" name="password" placeholder="Enter Your Password">
<img src="https://img.icons8.com/windows/50/000000/password.png" >
</div>
</form>
<a href="href">Forgot Password?</a>
<div id="alm">
<input type="checkbox" id="remember" name="remem">
<label for="remem">Remember Me</label>
</div>
<form >
<input type="submit" name="submit" id="submit1">
</form>
</fieldset>
</body>
<script src="script.js"></script>
</html>
uj5u.com熱心網友回復:
資料庫(遠程或本地)是服務器端服務。您需要一個后端應用程式來處理來自位于前端部分的表單的發布請求,然后從后端觸發任何進入 Mongo Atlas 的操作。
使用 NodeJS 和 Express 堆疊對您來說可能是一個不錯的選擇(您還需要在后端使用 mongo,但在這種情況下,您會將資料存盤在遠程 Mongo 資料庫中)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/433615.html
上一篇:在陣列中聚合mongodb搜索
