如何解决如何从求值为对象的表达式中获取属性值?
在聚合管道阶段(例如$set
)中,如何从一个求值为对象的表达式中获取对象属性的值?使用内置语法而不是普通JS的MongoDB(4.2版)。
例如,当一个表达式求值为对象{ k: "foo",v: "bar" }
时,如何获得字符串bar
?据我所知,由于没有“使用名称获取对象属性”聚合管道运算符/表达式。
解决方法
您可以使用$let
:
{
$let: {
vars: {
expr: { k: "foo",v: "bar" } // Your expression here
},in: "$$expr.v"
}
}
将评估为"bar"
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。