【发布时间】:2016-06-16 08:14:07
【问题描述】:
我对 node JS 和 mongo 很陌生。
我正在开发一个在我的数据库中存储用户信息的个人网站。
为简单起见,假设我在翡翠中有以下形式...
form(class="inputs", action="/login", method="post")
input(type="text", name="email",class="form-control", id="emailLogin", placeholder="Queen's Email")
我已经建立了一个数据库,并且可以使用以下 javascript 连接到它...
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/user');
var db = mongoose.connection;
db.on('error', console.error);
db.once('open', function() {
// Create your schemas and models here.
});
我想为使用上述表单注册的每个用户存储来自email 的输入。
我猜我首先必须创建一个模式,它可能看起来像这样,但我不确定......
var Schema = mongoose.Schema;
var userSchema = new Schema({
email: String
});
//I think I have to create a model too?
为了获取 POST 数据,我想我需要一些看起来像这样的代码......
app.post('/login', function(request, response){
//I am not sure what to put inside
});
我的问题是,谁能告诉我如何一起实现所有这些,以便每次用户使用他们的电子邮件注册时,它都会保存在数据库中。研究这个非常困难,并且尝试过很多次,但都失败了。
编辑
这是我的index.js 文件...
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'QChat' });
});
module.exports = router;
另外,这是我的routes 目录中的另一个文件users.js,我不确定它的用途是什么...
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;
【问题讨论】:
-
post()方法在哪里? -
@zangw 我想我明白你的意思了,我的索引文件中是否应该包含一个 post 方法?在那种情况下,我没有。
-
更准确的说是
post(''/login)到use.js更好,我猜这个文件只是为了给用户做url路由?
标签: javascript node.js mongodb