nodejs更新MongoDB数据库中文问题

来源:互联网 发布:实名认证数据网 编辑:程序博客网 时间:2024/06/07 06:54

最近,在用nodejs更新mongodb数据库时遇到了这样一个问题——在update方法中,如果我们以下面这种方式编写代码,则不会出现错误
这里写图片描述
这里,参数x是一个http.ServerResponse对象,用于向客户端返回信息。y则是客户端通过post方法传到服务器的json文件,里面有若干个字段,其中updata字段用于表明这个post请求要修改数据库内容,字段oldnum的值是需要修改的学生学号。因为后面我想直接把y做为用来指定更新文档的对象,所以在更新之前,需要将updata与oldnum字段删除。就如之前所说,这样子是不会报错的。
但如果我们把oldnum字段的值换成中文,比如说我们想通过名字, 查找对应的数据,其他部分代码不变,则运行时会抛出一个错误,这个错误产生的原因是因为在collection.update({number:oldnum},y,function(err,result){}中,如果变量oldnum的值为中文,则直接找不到数据,如果改为collection.update({number:“老王”},y,function(err,result){}且数据库中有人叫老王,则会找到这条数据。而且find方法也有这个问题,具体的原因我还在调查。虽然在实际操作中,我们不太可能根据人名来查找数据,但这个问题还是值得注意。

0 0
原创粉丝点击