go mongodb 查找问题,请教各位大佬啊

2020-01-08 19:52:34 +08:00
 crimeshaper

数据结构如下,我想查找 Age 大于 800 的,但返回的总是 Hero 这个全集,各位大佬,这怎么写,我快疯了,难道要查出来再代码过滤一遍

{ "_id" : ObjectId("5e130585a10ebd71287d86a2"), "item" : "journal", "qty" : 25, "Hero" : [ { "Name" : "张三", "Age" : 819 }, { "Name" : "王兀", "Age" : 888 }, { "Name" : "刘备", "Age" : 9 }, { "Name" : "孙尚香", "Age" : 78 } ] } 查找代码如下:

find := coll.FindOne( context.Background(), bson.M{ "Hero":bson.M{ "$elemMatch":bson.M{ "Age":bson.M{ "$gt":800, }, }, }, })

var info bson.M e1 := find.Decode(&info)

返回的是 Hero 全集,试过 coll.Aggregate(ctx,pipe),效果也一样啊

823 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/636269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX