请教mongodb的问题。
collection.update({blog_id: comments.blog_id}, {$push: {"comments": comment}},{safe:true},function(err,result){ mongodb.close(); console.log(result); });
请问各位前辈,这个更新写错了吗? 更新总是失败啊。。。之前都可以的,不知道为啥突然不行了。。。 console.log出来的是undefinded……进度卡住了求救啊&……
找到问题了,不是因为数据库更新写错了……
7 回复
已经解决。
好吧……第一次贴代码出来……不知道怎么弄。。抱歉了。。多谢提醒哟~~~ BTW,发现$push,$addToSet不是数组就不能添加,也不会新建数组的样子。请问是这样吗?
@jiyinyiyong 其实是很低级的问题。因为我没有检查类型,以为不给变量赋初值显示说明变量为数组,变量也可以自动变成数组。结果却发现mongo命令行里提示不是数组无法操作,于是才想起数组是继承Array.prototype的,而其他对象是继承Object.prototype的。
@xxzhczc 当变量不存在是会自动创建数组,当变量不存在且不为数组时会报错, 这个应该是去看mongo的文档
@saber 多谢提醒~~