我正在尝试使用Mongoose更新嵌套对象。但是当我收到请求时,它看起来像这样:
{
'example[apple]': 'false',
'example[pear]': 'false',
'example[banana]': 'false',
'example[orange]': 'false',
}
我的模型看起来像这样:
email: {
type: String,
index:true,
unique: true,
},
example: {
apple: {type:Boolean, default: true},
banana: {type:Boolean, default: true},
pear: {type:Boolean, default: true},
orange: {type:Boolean, default: true}
}
我发送的对象看起来像这样:
var formData = {
example: {
apple: false,
banana: false,
pear: false,
orange: false
}
}
我做错了什么?
答案 0 :(得分:1)
首先,请求正文
$(this).parent('div').addClass('active');
是您可以访问的JSON对象:example.apple等
exampleObject必须首先是JSON对象。
从你的模型看,似乎示例是模型中的属性,所以要更新你必须选择:
1-是通过不提供文件的身份来更新所有文件:
{
'example[apple]': 'false',
'example[pear]': 'false',
'example[banana]': 'false',
'example[orange]': 'false',
}
2 - 按条件更新;首选:
yourmodel.findAndUpdate({no thing here},exampleObject,callBack)
条件可以是= yourmodel.findAndUpdate(condition,exampleObject,callBack)