ejs模式:
1 //写服务 2 app.get("/allstudent",function(req,res,next){ 3 db.find("students",{},function(err,result){ 4 //寻找完毕之后,result就是一个数组,说实话服务已经成功了 5 //但是,必须界面必须要可视化,所以要有模板引擎呈递 6 res.render("allstudent",{ 7 "result" : result; 8 }); 9 //如果不用模板引擎呈递,可以直接输出JSON,前台用Ajax或者Angular调用 10 //var obj = {"result":result}; 11 //res.json(obj); 12 }); 13 }); 14 15 16 <% for(var i = 0 ; i < result.length ; i++) {%> 17 <div class="grid"> 18 <p class="title"><%=result[i].name%></p> 19 <p class="xuehao"><%=result[i].xuehao%></p> 20 <p class="sex"><%=result[i].sex%></p> 21 </div> 22 <%}%> |
Ajax模式:
1 //写服务 2 app.get("/allstudent",function(req,res,next){ 3 db.find("students",{},function(err,result){ 4 //如果不用模板引擎呈递,可以直接输出JSON,前台用Ajax或者Angular调用 5 var obj = {"result":result}; 6 res.json(obj); 7 }); 8 }); 9 10 11 ====================================== 12 <script type="text/template" id="tem"> 13 //这里是一个underscore模板 14 <div class="grid"> 15 <p class="title">{{=name}}</p> 16 <p class="xuehao">{{=xuehao}}</p> 17 <p class="sex">{{=sex}}</p> 18 </div> 19 </script> 20 21 22 前端页面: 23 jQuery片段: 24 25 //得到模板html 26 var templateString = $("#tem").html(); 27 //ajax请求 28 $.get("/allsutdent",function(result){ 29 30 //这个result就是一个json对象 31 //要放到页面上,所以为了不字符串拼接,可以用模板引擎underscore 32 for(var i = 0 ; i < result.result.length ; i++){ 33 //组装模板 34 var compiled = _.compiled(templateString,{ 35 "name" : result.result[i].name; 36 "sex" : result.result[i].sex; 37 "xuehao" : result.result[i].xuehao; 38 }); 39 //上DOM 40 $(".liebiao").append($(compiled)); 41 } 42 }); |
索引index
数据库中,根据一个字段的值,来寻找一个文档,是很常见的操作。比如根据学号来找一个学生。
这个学号,是唯一的,只要有学号,就能唯一确认一个学生的文档。学号这个属性,就非常适合建立索引,这样一来,查找学生就变得简单了。
这个语句,能够查看检索的过程:
1 db.student.find({"name":"user888"}); |
学生的姓名是唯一的,为了快速的进行检索,所以就把name属性建立成为“索引”。
1 db.student.createIndex({"name":1}); |
这样,今后通过name寻找student文档的时候,速度非常快。因为能够快速的从索引表中,找到这个文档。
缺点就是插入每条数据的时候,时间变慢了,效率低了。但是换回来的就是寻找的速度快了。
索引这个属性,所有的文档都不能相同:
1 db.members.createIndex( { "user_id": 1 }, { unique: true } ); |