为了账号安全,请及时绑定邮箱和手机立即绑定

调用 Find mgo 的参数太多

调用 Find mgo 的参数太多

Go
缥缈止盈 2021-12-20 10:02:30
我试图使用 $elemMatch 运算符搜索具有多个字段条件的集合。然后我遇到了一个错误“调用 c.Find 的参数太多”。文件结构如下:-{    "_id" : ObjectId("56cfca4bf23e4e2859257425"),    "company_name" : "bank",    "admin" : {        "email" : "xyz@bank.com",        "fullname" : "xyz"    },    "process" : [         {            "process_name" : "Enquiry",            "processtype" : 0,            "sortorder" : 0        },         {            "process_name" : "Converted",            "processtype" : 1,            "sortorder" : 1        }    ]}我的查询如下:-colQuerier := bson.M{"company_name": "bank"}match := bson.M {"process": bson.M {"$elemMatch": bson.M{"process.process_name":"Converted"}}}err := c.Find(colQuerier,match).Sort("-id").All(&results)我的查询有什么问题?是否有任何语法错误?
查看完整描述

1 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

因为 c.Find( https://godoc.org/gopkg.in/mgo.v2#Collection.Find ) 只允许一个参数


你可以试试


query := bson.M{

    "company_name": "bank",

    "process": bson.M{

        "$elemMatch": bson.M{"process.process_name":"Converted"}

    }

}

err := c.Find(query).Sort("-id").All(&results)


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信