mongoose 由一个版本引起的问题

nodejs 由于是用javascript 这种弱类型语言进行开发,难免会出现各种让人意想不到的问题.最近就出现了一个:

mongoose 模块由于版本问题造成的:查询skip limit 在4.0.x上必须要是number 类型,做了严格的类型检查

 这个版本之下的可以是'1',这样的 字符串,会自动转换为number. 

由这个错误我总结:

1.mongoose 命令会将参数整合成一个json ,然后对json 进行格式和类型的检查,最后吧json发送到数据库端执行.

2.mongoose 版本升级将可能造成很大的被动.冒然升级会可能造成巨量的未知问题.数据库毕竟是个比较重要的环节,不

得不重视.

3.版本管理是一系列的问题  从最底层的系统  数据库 到数据库驱动模块,在项目开始之前  最好多多进行测试.找到稳定的搭配

,一旦确定后应该保持开发,测试,生产环境统一.

4.对于node环境来说 log非常的重要,很多问题可以通过有效的log,输出到前端,或者后端记录文件给出权限给程序员查看用来定位问题.生产机可是没有办法debug 跟踪调试的.

5.node 本身的版本问题也会造成模块的影响,这个最好在项目一开始就用tnvm 来管理版本,确定一个跟各个模块比较融合的node 版本.并且轻易的不要去升级node.

参考一个不错的关于nodejs package 版本控制的文章:

http://www.tuicool.com/articles/2aUB7j

摘要:

一个node package有两种依赖,一种是dependencies,另一种是devDependencies,其中前者依赖的项是正常运行该包时所需要的依赖项,而后者则是开发的时候需要的依赖项,像一些进行单元测试之类的包。简单来记就是下面的

“dependencies”: {}     //生产环境

“devDependencies”: {}//开发环境

在package.json所在目录执行npm install的时候,devDependencies里面的模块也会被安装的。如果我们只想安装dependencies里面的包,可以执行

npm install –production

如果只安装devDependencies,可以执行

npm install –dev

同理,使用npm install node_module –save自动更新dependencies字段值,使用npm install node_module –save-dev自动更新devDependencies字段值。

 

另外附上:npm list node_module_name 可以查看某个已经安装的模块的版本.因为有时候没有--save 到package.json中去,或者是copy过来的模块(估计是invalid的原因).

 

转载于:https://www.cnblogs.com/xuezizhenchengxuyuan/p/6673937.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值