#javascript #node.js #mongodb #express #mongoose
#javascript #node.js #mongodb #выразить #мангуст
Вопрос:
кто-нибудь может добавить скрипты для сохранения данных, полученных из html-формы, в локальную MongoDB. я пробовал man-способы, но всегда получал ошибки (db не является функцией, клиент не определен и т.д.) Пожалуйста, помогите мне
Комментарии:
1. если вы что-то пробовали, пожалуйста, поделитесь своим кодом и используйте конкретные ошибки / проблемы, чтобы мы могли это решить
2. Покажите нам, что вы сделали
3. Не волнуйтесь. Шаг за шагом. Опубликуйте свой код, чтобы мы могли вам помочь.
Ответ №1:
Исходя из вашей проблемы, чтобы получить данные из html-формы, вы можете использовать пакет body-parser package или встроенное промежуточное программное обеспечение express. Вы можете получить доступ к данным из формы в серверной части, выполнив req.body . Вы должны присвоить атрибут name каждому входному сигналу, например
<input type="text" name="username">
и получите к нему доступ, используя req.body.name .
Остальное зависит от вас.
Комментарии:
1. я изменил, но снова то же самое. я думаю, у меня проблема с именем базы данных, которое верно? var db=client.db(«mydb») или = mongoclient.db(«mydb») или =db.db(«mydb»)?
2. Просматривая код, клиент не определен, потому что клиент не определен
3. да, на самом деле я изменил некоторые и забыл изменить и это. моя проблема в том, как получить db
4. db.collection(«xxx»),insertOne({xxxxx}) в этом синтаксисе, где мы определяем db, как мы это называем?
5. в db.insertOne(post) вы можете попробовать это?
Ответ №2:
const express=require("express");
const app =express();
const mongoose =require("mongoose")
const bodyParser =require("body-parser")
const route =require("./route")
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static('./htmls'))
const dbConnection= mongoose.connect(
"mongodb://localhost:27017/mydb",
{ useNewUrlParser:true,
useUnifiedTopology: true },
()=> {console.log("connected to DB");})
app.post("/user",(req,res)=>{
dbConnection.then((db)=>{
var post={name:req.body.name,
surname:req.body.lastname}
var db=client.db("mydb")
db.collection("myDataCol").insertOne({post})
client.close(); });})
module.exports=app
<html>
<head>
<title>form</title>
</head>
<body>
<h2>New User</h2>
<hr/>
<form action="/user" method="POST">
<input type="text" name="name">
<input type="text" name="lastName">
<input type="submit">
</form>
<hr>
<form action="/user/delete" method="POST">
<input type="text" name="name" >
<input type="text" name="lastName">
<input type="submit">
</form>
</body>
</html>
Комментарии:
1. это мои коды, извините за этот беспорядок, этот сайт настолько запутанный, что я не могу ответить на запросы с сайта, я хочу добавить коды, я не могу, я хочу отредактировать, я не могу, что за черт