これはWeb開発の最初のプロジェクトです.ExpressJSとMongoDBを使用しています。私は基本的にビューページのボタンをクリックし、データベース(mongodb)内の特定のデータを取得してボタン要素の直上にコンテンツを表示したいと考えています。それは私がこれまで持っているものです:mongooseを使ってデータベースの値を取得し、同じページに表示する(ExpressJSとMongoDB)
私のスキーマ(私はユーザーのスキーマは異なりますが、データを取得したいものです)。
const mongoose = require('mongoose');
// Redacao Schema
var RedacaoSchema = mongoose.Schema({
testing1: {
type: String
}
});
var Redacao = module.exports = mongoose.model('Redacao', RedacaoSchema);
ここでは、ボタンをクリックしてデータベースから特定のデータを取得し、ボタンの上の同じページに表示します。私はビューエンジンとしてハンドルバーを使用しています。マイビュー:
<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>
マイルータ:
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;