所有的东西都是异步的,把数据当做回调函数的参数来使用
1.express.static(root, [options])
root 参数指的是静态资源文件所在的根目录。
2.req.ip
::ffff:127.0.0.1
3.req.fresh
检查请求是否是新的 – 通过对Last-Modified或者 ETag进行匹配,来标明这个资源是不是”新的”。
1.http url
const http=require('http');
const url=require('url');
http.createServer(function (req,res) {
//得到用户输入的路径
var queryObj=url.parse(req.url,true).query;
var name=queryObj.name;
var age=queryObj.age;
var sex=queryObj.sex;
res.writeHead(200,{"Content-type":"text/plain;charset=UTF8"});
res.end("服务器接收到了请求"+name+age+sex)
}).listen(3002,"127.0.0.1");
2.mkdir rmdir
fs.mkdir("./aa")
fs.rmdir("./aa")
3.stat isDirectory
fs.stat("./aa",function (err,data) {
console.log(data.isDirectory());
})
4.node包管理
①社区查找包名称,查看示例 为了别人用删除node_module 然后
②npm init 生成package.json
③npm install 就可以安装 package.json 依赖的包了
5.--save
自动修改package.json文件,自动添加依赖项
6.next()
get,post回调函数中,没有next参数,会匹配第一个路由,不会向下匹配,
如果想要往下匹配的话,那么需要next()
7.app.use()
app.use('/admin', function(req, res, next) {
// GET 'http://www.example.com/admin/new'
console.log(req.originalUrl); // '/admin/new'
console.log(req.baseUrl); // '/admin'
console.log(req.path); // '/new'
next();
});
8.app.set()
app.set("view engine","ejs");静态资源默认文件夹为views
app.set("views","a");默认文件夹改为a
9.req.query() get请求
http://127.0.0.1:3036/?id=4
{ id: '4' }
10.post请求
bodyParse模块
console.log(req.body);//{ name: 'user', age: '234554' }
如果表单有文件上传还要用formidable模块
4.mongo
mongo 使用数据库
mongod 开机
mongoimport 导入数据
列出所有数据库:
show dbs
使用某个数据库
use 数据库名字
如果想新建数据库,也是use。use一个不存在的,就是新建。
查看当前所在数据库
db
插入数据:
db.student.insert(
{"name":"jack","age":24,"score":{"yuwen":78}}
{"name":"mary","age":24,"score":{"yuwen":78}}
{"name":"lwb","age":24,"score":{"yuwen":78}}
);
student就是所谓的集合。集合中存储着很多json。
student是第一次使用,集合将自动创建。
5.插入数据
db.student.insert({"name":"xiaoming"});
我们不可能一条一条的insert。所以,我们希望用sublime在外部写好数据库的形式,然后导入数据库:
mongoimport --db test --collection restaurants --drop --file primer-dataset.json
-db test 想往哪个数据库里面导入
--collection restaurants 想往哪个集合中导入
--drop 把集合清空
--file primer-dataset.json 哪个文件
这样,我们就能用sublime创建一个json文件,然后用mongoimport命令导入,这样学习数据库非常方便。
6.查找数据
db.restaurants.find()
精确匹配:
db.student.find({"score.shuxue":70});
多个条件:
db.student.find({"score.shuxue":70 , "age":12})
大于条件:
db.student.find({"score.yuwen":{$gt:50}});
或者。寻找所有年龄是9岁,或者11岁的学生
db.student.find({$or:[{"age":9},{"age":11}]});
查找完毕之后,打点调用sort,表示升降排序。
db.restaurants.find().sort( { "borough": 1, "address.zipcode": 1 } )
7.修改数据
查找名字叫做小明的,把年龄更改为16岁:
db.student.update({"name":"小明"},{$set:{"age":16}});
查找数学成绩是70,把年龄更改为33岁:
db.student.update({"score.shuxue":70},{$set:{"age":33}});
8.删除数据
db.restaurants.remove( { "borough": "Manhattan" } )
发表评论: