我目前正在使用elasticsearch,需要在我的对象上设置一些深层嵌套的属性,目前我正在设置它们:
this.queryDSL.body.filter = {};
this.queryDSL.body.filter.bool = {};
this.queryDSL.body.filter.bool.must = [];
一种迭代方式,构建空属性并附加到它们上。我试着像这样设置它:
this.queryDSL.body.filter.bool.must = []
这会导致错误,因为javascript不会以未定义的错误的形式在其间创建bool值。
我的方式还可以,还是有更好的方法吗?我希望像我的第二个例子一样,将它们全部设置好。
答案 0 :(得分:3)
你的第一个例子有效,它确实没什么问题。您也可以这样做:
this.queryDSL.body.filter = {
bool: {
must: [
]
}
}