#javascript #html #mongodb #mongoose
Вопрос:
Я создаю базовое приложение для блога и хочу сохранять данные пользователей, когда они нажимают кнопку «Отправить». Я использую мангуста для сохранения данных в MongoDB. Я написал кое-какой код, но он не сработал. Я новичок в этом веб-сайте и пытаюсь чему-то научиться.
Есть код, который я написал для сохранения в БД:
const mongoose = require("mongoose");
const User = require("../models/user");
const db_URI = 'my db_uri in here, idk about security so i didn't write it';
const button = document.getElementById("submit-btn");
mongoose.connect(db_URI)
button.onclick = function() {
var user = new User( { # I made this variable for just test
name:"qwe",
password: "123",
email: "example@hotmail.com"
});
user.save()
};
Этот код предназначен для моей интерфейсной части:
<!DOCTYPE html>
<html>
<head>
<title>SIGN UP HERE</title>
</head>
<body>
<form method="POST">
<div>
<label id="name-lbl">Name: </label>
<input type="text" name="nick" placeholder="Your nickname here">
</div>
<div>
<label>E-mail: </label>
<input type="text" name="email" placeholder="Your email here">
</div>
<div>
<label>Password: </label>
<input type="password" name="pwd" placeholder="Your password here">
</div>
<div>
<label>Confirm password: </label>
<input type="password" name="pwd" placeholder="Confirm your password">
</div>
<button type="submit" id="submit-btn">Submit</button>
</form>
<script src="../database/db_processes.js"></script>
</body>
</html>
Комментарии:
1. Интерфейсный и серверный js отличаются друг от друга; Для этого вам нужно реализовать сервер, подобный express.
2. Хорошо. Но как я могу сохранить данные пользователей в базе данных без использования какой-либо платформы?
3. Вы не можете; или использовать firebase; у которой есть некоторые возможности для этого,
Ответ №1:
Вы здесь кое-что путаете. Ваше серверное приложение (ваш первый фрагмент кода) должно работать «на стороне сервера» с использованием узла. Как вы управляете им сейчас? Кроме того, первый фрагмент кода не будет иметь доступа к компонентам интерфейса, таким как кнопки и разделители.
Что я бы предложил, так это пройти через этот урок: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs изучить основы архитектуры(клиент-серверная архитектура). В части 3 они рассказывают, как связаться с Мангустом.
Комментарии:
1. Итак, должен ли я использовать фреймворк, такой как Express, для запуска первого кода и подключения его к интерфейсной стороне?
2. @statist31 Да, в учебнике это подчеркивается. Ваш браузер отправит сетевой запрос на ваш сервер(приложение узла). Express-это платформа, которая помогает обрабатывать запросы.
Ответ №2:
Проще использовать конечные точки URI REST для сохранения, обновления, просмотра, поиска записей и т. Д. Я провел полный учебник по этому вопросу, используя mongoose, node и express, поэтому не стесняйтесь проверять его по адресу : https://ezani.medium.com/creating-a-crud-node-js-rest-service-with-express-js-and-mongodb-mongoose-72ad173b542b