6.Nodejs入门-----写服务

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 } );


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值