读nodejs项目源码所遇问题小结(一)
来源:互联网 发布:spss软件下载 官方 编辑:程序博客网 时间:2024/06/05 11:07
1.res.send和res.end的区别?
res.end:
1.方法说明:
结束响应,告诉客户端所有消息已经发送。当所有要返回的内容发送完毕时,该函数必须被调用一次。
如何不调用该函数,客户端将永远处于等待状态。
response.end([data], [encoding])
res.send([body|status], [body])
// 即既可以直接发送内容,也可以第一个参数状态,第二个参数内容。
如果服务端没有数据传回客户端就可以直接用red.end返回,如果有数据可以使用res.send,red.json此时可以不写res.end了,因为在前面两个方法中默认会返回
2. Mongoose 模型提供了 find, findOne, 和 findById 方法用于文档查询。
3.一些javascript函数
- encodeURI() 函数可把字符串作为 URI 进行编码。
- exec() 方法用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
- sort() 方法用于对数组的元素进行排序。对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
- RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
new RegExp(pattern, attributes);
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 “g”、”i” 和 “m”,分别用于指定全局匹配、区分大小写的匹配和多行匹配。
返回值是一个新的 RegExp 对象,具有指定的模式和标志。如果参数 pattern 是正则表达式而不是字符串,那么 RegExp() 构造函数将用与指定的 RegExp 相同的模式和标志创建一个新的 RegExp 对象。
如果不用 new 运算符,而将 RegExp() 作为函数调用,那么它的行为与用 new 运算符调用时一样,只是当 pattern 是正则表达式时,它只返回 pattern,而不再创建一个新的 RegExp 对象。
4.Mongoose学习杂记
- 名词解释
- Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
- Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
- Entity : 由Model创建的实体,他的操作也会影响数据库
- Schema、Model、Entity的关系请牢记,Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。
新增数据,如果是Entity,使用save方法,如果是Model,使用create方法
//使用Entity来增加一条数据
var krouky = new PersonModel({name:’krouky’});
krouky.save(callback);
//使用Model来增加一条数据
var MDragon = {name:’MDragon’};注意
两种新增方法区别在于,如果使用Model新增时,传入的对象只能是纯净的JSON对象,不能是由Model创建的实体,原因是:由Model创建的实体krouky虽然打印是只有{name:’krouky’},但是krouky属于Entity,包含有Schema属性和Model数据库行为模型。如果是使用Model创建的对象,传入时一定会将隐藏属性也存入数据库,虽然3.x追加了默认严格属性,但也不必要增加操作的报错删除和新增一样,删除也有2种方式,但Entity和Model都使用remove方法
- 读nodejs项目源码所遇问题小结(一)
- 项目一所遇到的问题摘录
- Android项目所遇问题
- C语言学习及项目开发所遇问题总集(一)---Mr.Zhang
- Angular2项目日常开发中所遇问题及解决方案记录(一)
- 修改eclipse项目中包名所遇到的问题(一)
- android项目开发所遇问题总结
- Win7使用所遇问题小结(不断更新中)
- 我的NodeJs学习小结(一)
- nodejs调试问题(一)
- nodejs 小结
- 第一个SSH上机项目所遇问题与解决方案
- Eclipse 开发WEB项目所遇问题 WebContent WebRoot
- Eclipse 开发WEB项目所遇问题 WebContent WebRoot
- Proguard混淆Android项目所遇问题及总结
- 嵌入式项目1--问题所遇汇总--软硬件
- NDK编译FFMPEG所遇问题的解决方法(一)
- android开发所遇问题集(一)----Mr.Zhang
- 一个简单的剪刀石头布游戏(C++实现)
- BZOJ 1029: [JSOI2007]建筑抢修
- 怎样实现前端裁剪上传图片功能
- boostrap表单控件状态(禁用状态)
- Java基础学习之线程池
- 读nodejs项目源码所遇问题小结(一)
- zoj3471 Most Powerful 状压dp
- 【Java基础】RTTI与反射之Java
- 最大熵模型介绍及实现
- Web Service系列之实例之JAX-WS
- Leetcode--->Given n points on a 2D plane, find the maximum number of points that lie on the same str
- JS的几种写法
- Koa学习笔记
- 当类对象作为成员看初始化列表的意义