数据结构如下,我想查找 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, }, }, }, })
返回的是 Hero 全集,试过 coll.Aggregate(ctx,pipe),效果也一样啊
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.