C'est mon premier projet dans le développement web en général et j'utilise ExpressJS et MongoDB. Je veux fondamentalement cliquer sur un bouton dans ma page de vue et puis obtenir une donnée spécifique dans la base de données (mongodb) pour montrer le contenu juste au-dessus de l'élément de bouton. C'est ce que j'ai jusqu'à présent:Obtenez une valeur de base de données en utilisant mongoose et en affichant dans la même page (ExpressJS et MongoDB)
Mon schéma (J'ai un schéma différent pour les utilisateurs, mais c'est celui dont je veux obtenir les données).
const mongoose = require('mongoose');
// Redacao Schema
var RedacaoSchema = mongoose.Schema({
testing1: {
type: String
}
});
var Redacao = module.exports = mongoose.model('Redacao', RedacaoSchema);
Ici, je veux cliquer sur un bouton, obtenir des données spécifiques de la base de données et faire apparaître sur la même page au-dessus du bouton. J'utilise le guidon comme moteur de vue. Mon point de vue:
<div id="target">
</div>
<input id="receberRedacao" type="button" value="User data">
<script>
$(document).ready(function(){
$('#receberRedacao').click(function (e) {
e.preventDefault();
$.ajax({
url: "https://stackoverflow.com/users/usuario/redacaoteste",
type: "get",
});
console.log(texto1);
$("<div id='redacao-usuario'>A redação do usuário está aqui. >>> {{texto1}} </div>").appendTo('#target');
});
});
</script>
Mon routeur:
var express = require('express');
var router = express.Router();
var Redacao = require('../models/redacao');
router.get('/usuario/redacaoteste', function(req, res) {
var texto1 = Redacao.findOne({});
console.log('>>>', texto1); //testing the variable I get something crazy
res.render('usuario', {texto1});
});
module.exports = router;