遇到问题-----mongodb-------Uncaught TypeError: Cannot read property 'value' of undefined


前面我们了解过 在mongodb 中使用js脚本运行。

mongodb执行js脚本(一)---shell执行

mongodb 执行js脚本(二)---mongovue执行



但是写mongodb的js脚本并不是很好调试。 只能逐句检查验证。


今天遇到了一个问题。

Uncaught TypeError: Cannot read property 'highStudentResultDetails' of undefined

	  	  var attentioncount=0;		
		  var studentResults=item.resultDetail.studentResult.highStudentResultDetails;
	
		  for(var i=0;i18)){
			 attentioncount=attentioncount=0+1;
			 }
		   }	
		


原因是 不是每个item都有highStudentResultDetails,所以这里需要判空。最好外层也判空才能保证安全运行。

修改如下:
		  	  var attentioncount=0;
		 if(item&&item.resultDetail&&item.resultDetail.studentResult&&item.resultDetail.studentResult.highStudentResultDetails) {	  
		  var studentResults=item.resultDetail.studentResult.highStudentResultDetails;
	
		  for(var i=0;i18)){
			 attentioncount=attentioncount=0+1;
			 }
		   }	
		  }

主要是增加了这句判空
 if(item  &&  item.resultDetail  &&   item.resultDetail.studentResult  && item.resultDetail.studentResult.highStudentResultDetails   ) {


问题得到解决。




你可能感兴趣的:(mongodb,js,遇到问题)