【发布时间】:2015-10-27 17:31:23
【问题描述】:
我有一个节点js函数:
function func() {
USER.find({},function(err, users){
user = users[0];
console.log(user); // {"name":"mike", "age":15, "job":"engineer"}
user.name = "bob"; //{"name":"bob", "age":15, "job":"engineer"}
delete user.name;
console.log(user); // {"name":"mike", "age":15, "job":"engineer"} name still there??
});
}
这里USER是mongoose数据模型,find是查询mongodb。如果没有错误,回调会提供一个用户数组。用户数据模型看起来像
{"name":"mike", "age":15, "job":"engineer"}。
所以回调被调用并传入用户,我得到第一个用户并试图从用户中删除“名称”。有线部分是我可以正确访问该值并修改该值。但是,如果我“删除 user.name”,则不会从 json 对象用户中删除该元素。这是为什么呢?
【问题讨论】:
-
也做
console.log(delete user.name),它应该返回true,否则,它不能以某种方式被删除