loading...

1

node笔记

其他读完大概需要8分钟

  • 发布时间:2017-07-30 14:30 星期日
  • 刘伟波
  • 219
  • 更新于2017-07-30 14:30 星期日

所有的东西都是异步的,把数据当做回调函数的参数来使用

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


你可能感兴趣的文章

    发表评论

    评论支持markdown,评论内容不能超过500字符,如果内容过多或者要及时回复,建议去 平台,一般一天之内就会回复。
    关于技术问题或者有啥不懂的都可以留言,我会定期回复答 疑,推荐最新仓库 前端知识体系, 感謝支持!