这是一条语句,仅将(a_object的)相等 kilm 字段值与(b_object的) my_b 字段值进行比较:
db.a_object.aggregate([{
$match: {
}
}, {
$lookup: {
"from": "b_object",
let: {
idid: "$kilm"
},
pipeline: [{$match: {$expr: {"$eq": ["$$idid", "$my_b"]}}}],
"as": "bs_objects"
}
}])
但是我想用一些功能(例如内置hex_md5()
即我想要这样的东西:
db.a_object.aggregate([{
$match: {
}
}, {
$lookup: {
"from": "b_object",
let: {
idid: "$kilm"
},
pipeline: [{$match: {$expr: {"$eq": ["hex_md5($$idid)", "$my_b"]}}}],
"as": "bs_objects"
}
}])
但这不起作用。
是的,我想在检查相等性时散列kilm字段值,而不是“ kilm”字符串(字段名称)。 那是因为这样:
pipeline: [{$match: {$expr: {"$eq": [hex_md5("$$idid"), "$my_b"]}}}],
不适合我。
Mongo是否提供一些可以提供这种行为的功能?如果是,该怎么办?