1
我正在嘗試爲mongoDB
的aggregate
框架創建一個複雜的查詢。它需要一個編程添加$and
和$or
的組件。通過引用修改Javascript對象
這是我對象的當前結構:
const inputObject = {
"details.blackBottom": { "in": ["A","B","C","D"] },
"details.blackTop": { "in": ["L","M"] },
"details.redBottom": { "in": ["A","B","C","D"] },
"details.redTop": { "in": ["L","M"] },
"details.greenBottom": { "in": ["A","B","C","D"] },
"details.greenTop": { "in": ["L","M"] }
}
然而,對象是有用的,我需要的,以便它使用兩個$or
和$and
重新制定它。最終的輸出應該是這樣的:
const outputObject = {
"$and": [
{
"$or" : [
{"details.blackBottom": { "in": ["A","B","C","D"] }},
{"details.redBottom": { "in": ["A","B","C","D"] }},
{"details.greenBottom": { "in": ["A","B","C","D"] }}
]
},
{
"$or" : [
{"details.blackTop": { "in": ["L","M"] } },
{"details.redTop": { "in": ["L","M"] } },
{"details.greenTop": { "in": ["L","M"] } }
]
}
]
}
注意,$or
組件由Bottom
和Top
分組。
如何將inputObject
變成所需的outputObject
?