九阴真经 第十五层--node.js 第7天

今天的截图

今天的笔记和心得

服务器上的东西都是要经过编译的,因为它都可以操作内存。而node.js执行也是有编译过程的,服务器上的东西怎么可能有脚本语言,他只不过是借助V8引擎 编译成C++的一些东西

mongodb中 createIndex("XX":1)  建立索引表后,他就会按照XX这个属性的正序设置。 这时你如果insert(XX:1).  insert(XX:15) insert(XX:5)  插入数据库,那么它会按照正序寻找他们的指定位置,有序插入。   如果没有建立索引表的话看,那么它就照常(1),(15),(5)

重启node.js服务器后,session就掉了,说明什么。
session是存在客户端的,每个客户端的session只有一个

外键 是关系式数据库特有的

注意:后台处理分页 比较困难,所以建议交由前台用AJAX请求会更好  $.get("/getall?page=0",function(err,result){ } )

1.后台返回的json 只有k,y格式前台才能识别 。 所以数组格式的要转变成json格式   res.json({"r":result});   这个result是个[{},{} ] 。     那么实际前台显示的 就是{"r":[{},{}] }

2.假如后台是 res.json(result);  那么前台会显示:[{},{},{}]

记住 :for循环里不能套异步的东西。因为会异步结束后 那个i 已经变了。  解决办法:方法1 用迭代器,方法2 异步变同步

如果Ajax 嵌套 ,那么最里层的Ajax必须设为同步

在用户评论中,根据拿到那个评论中的用户名,去查找到数据库的头像

中间件都可以有req,res,next

res.query 返回的是一个对象 {name:'chen',sex:'123'};
res.params["username"]  这个params原理是通过正则表达式: 识别的  。    app.use("/user/:username");
========================

mongoose :    var db = mongoose.createConnection("mongodb:127.0.0.1:27017/node.js")  这句话指的是,我会给每一个用户访问的时候 ,都会创造一个连接请求。并不指的是 只创建一个连接
当这个用户 关闭浏览器时,它会自动关闭数据库连接。很智能
===============
var abc = new ({XXX}) ;
model.exports = abc ;

另一个JS中,
var abc= require("./aaa/abc.js");
===============

Schema是产生Moedl的一个必要条件 

Schema翻译 是  结构

XX.save(function(){}) 是对象的方法  不是类的方法

类名.create({"name":小红})  -->  创建了一个对象 ,并能保存在mongodb中   (这个靠工厂模式去创建一个对象)  。就省掉了用一个对象.save(function(){})这个步骤

新的数据库存储方式: 只要你把这个对象创建出来了,那么这个对象就能直接储存在数据库了

记住:mongoose所有的操作都不是对数据看进行的。所有的操作都是对类,实例进行的。数据的持久化自动完成了

对于主文件app.js来说  ,它只关心引入模型。例如 就一句话 var Student = require("./models/Student.js")

记住:model.exports 和exports.XX 的区别就在  差一次 "."  

router.js 这个页面不关心数据库,只关心对象

猜你喜欢

转载自www.cnblogs.com/czy16/p/8969701.html
今日推荐