如何使用mongo bson聚合查询表中两个字段a>b的数据呢?

shenguanjiejie · 2021-03-02 19:26:36 · 1304 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2021-03-02 19:26:36 的主题,其中的信息可能已经有所发展或是发生改变。

假如表中只有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元现金红包


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1304 次点击  
加入收藏 微博
1 回复  |  直到 2021-03-05 15:54:54
sdghchj
sdghchj · #1 · 4年之前

{ "$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。言而有信哈

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传