nodejs+mongodb项目构建

<table class="text"><tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190

express -e chihuo   -e表示ejs模板引擎,不写 -e 默认的创建jade模板引擎   然后在输入:         cd chihuo    //进入到你创建的项目目录         npm install  //读取根目录中的package.json文件然后安装项目所依赖的包   然后通过 cmd 命令行 cd 到 chihuo 的目录下    node app   这样就启动项目了。   提示1:如果不能启动项目:看看app.js文件中没有监听端口。如果没有,在 module.exports = app;语句之前添加app.listen(3000);   提示2:Ctrl + c 终止运行   然后我们可以在浏览器地址栏里敲入 http://127.0.0.1:3000/ 或者 http://localhost:3000 这就是你的第一个express创建的node app。 到这里你就完成了项目的重要的一步。   之后的讲解 我们从目录开始   –node_modules   项目中依赖的包 –public         公共资源放的目录 –routes         学名 路由,里面放着一些路由文件 –views                         放着就是页面文件了 –app.js                项目的入口文件。当然你也可以改成其他的名字。   2.现在基本的结果已经有了,之后就是创建数据库了   mongodb的安装   这里只介绍window的安装 在官网上下载zip,这个我装在D盘的mongodb目录下   1.在D盘中创建 mongodb 文件夹然后把下载的包解压后把其中的 bin 文件夹拷贝到创建的 mongodb 文件夹中, 2.然后在mongodb文件夹中创建一个 data 文件夹,再在 data 文件夹中创建 db 文件夹 3.打开CMD命令行    d: cd mongodb\bin mongod -dbpath D:\mongodb\data\db 4.在打开一个CMD命令行: d: cd mongodb\bin mongo 5.这样就可以用了。   接着就设计我们的数据库了   在刚才的打开的mongodb数据库中输入:    use chihuo  \创建一个叫chihuo的数据库 db.createCollection(“users”) \创建一个集合 db.users.insert({“name”:“admin”,“password”:“111”}) \给users集合添加一个文档。 db.users.find() \查询你添加的文档   再接着就是在项目中连接刚才创建的数据库了   在项目根目录下创建一个的文件夹 database ,然后在创建一个 db.js   var mongoose = require('mongoose'); var db = mongoose.connect('mongodb://localhost/chihuo');//;连接数据库 var Schema = mongoose.Schema;   //  创建模型 var userScheMa = new Schema({         name: String,        password: String }); //  定义了一个新的模型,但是此模式还未和users集合有关联 exports.user = db.model('users',userScheMa); //  与users集合关联 3.接着在views文件夹创建视图文件了   我们上面用express创建的项目视图文件是ejs后缀名,我们一般习惯使用html后缀名。 那么我们怎么让他识别html的视图文件呢?   在app.js文件中 找到 >app.set('view engine','ejs'); 把它替换成: >app.set( 'view engine','html' ); 再用app.engine()方法注册模板引擎的后缀名。代码: >app.engine('.html',require('ejs').__express);//两个下划线   然后我们创建一个login.html(登陆页面),index.html(原来有,改一下后缀名就行),ucenter(登陆之后的页面);   login.html           my login                    

Hello World

       

Welcome to

       
                        name:                        
                                       

                        password:                        
                                       

       

    index.html           my index                    

Hello World

       

Welcome to

       

    ucenter.html           my ucenter                    

Hello World

       

你已经成功登陆

  4.最后就是路由的控制了,在routes文件中的index.js     var express = require('express');   var router = express.Router();   var user = require('../database/db').user;             /* GET home page. */   router.get('/',function(req,res) {             res.render('index',{ title: 'index' });   });     /* login */   router.get('/login',res) {             res.render('login',{ title: 'login' });   });     /* ucenter */   router.post('/ucenter',res) {                   var query = {name: req.body.name,password: req.body.password};                   (function(){                                   user.count(query,function(err,doc){    //count返回集合中文档的数量,和 find 一样可以接收查询条件。query 表示查询的条件                                                 if(doc == 1){                                                         console.log(query.name + ": 登陆成功 " + new Date());                                                         res.render('ucenter',{ title:'ucenter' });                                                 }else{                                                         console.log(query.name + ": 登陆失败 " + new Date());                                                         res.redirect('/');                                                 }                                 });                   })(query);   });     module.exports = router;     mongoose学习地址:http://www.hubwiz.com/course/543b2e7788dba02718b5a4bd/

相关文章

文章浏览阅读552次。com.mongodb.MongoQueryException: Quer...
文章浏览阅读635次,点赞9次,收藏8次。MongoDB 是一种 NoSQ...
文章浏览阅读2.1k次。和。_mongodb 日期类型
文章浏览阅读1.7k次。Scalestack等客户期待使用MongoDB Atla...
文章浏览阅读970次。SpringBoot整合中间件mongodb、ES_sprin...
文章浏览阅读673次。MongoDB 简介_尚医通sql