假如表中只有a和b两个int类型的字段, 如何使用聚合查询出所有a>b的数据?
这段聚合代码可以返回正确结果:
{ "$match": bson.M{ "a": bson.M{ "$gt": 100, }, }, },
把100改成"$b"之后 , 这段代码返回是空的:
{ "$match": bson.M{ "a": bson.M{ "$gt": "$b", }, }, },
是我写的不对么? 还是bson不支持这种查询呢?
能解决的加好友发200元现金红包
{ "$match": bson.M{"$expr": bson.M{ "$gt": ["$a", "$b" ] }}}
参考:
https://docs.mongodb.com/manual/reference/operator/aggregation/match/#pipe._S_match
https://docs.mongodb.com/manual/reference/operator/query/expr/#op._S_expr
微信号就是头像旁边ID。言而有信哈
#1