Как сохранить данные формы в локальный MongoDB с Node.js ?

#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. это мои коды, извините за этот беспорядок, этот сайт настолько запутанный, что я не могу ответить на запросы с сайта, я хочу добавить коды, я не могу, я хочу отредактировать, я не могу, что за черт