问题描述
我想根据我在下面给出的条件动态分配$ match的键:
let memberField = filter == "Agent" ? "user" : "admin"; // memberField = "user"
db.aggregate(
[
{
$match: {
memberField: "12345"
}
}
]
)
在这里我没有得到空的回应。
但是,如果我将硬键传递给$ match,如下所示:
db.aggregate(
[
{
$match: {
user: "12345"
}
}
]
)
我在这里得到相应的结果。
那么如何传递动态密钥?
解决方法
db.aggregate([
{
$match: {
[memberField]: "12345"
}
}
])