数据结构如下,我想查找 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),效果也一样啊