Я пытался найти коллекцию с несколькими полевыми условиями, используя оператор $elemMatch. Затем я столкнулся с ошибкой «слишком много аргументов в вызове c.Find». Структура документа следующая:
{
"_id" : ObjectId("56cfca4bf23e4e2859257425"),
"company_name" : "bank",
"admin" : {
"email" : "[email protected]",
"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)
Что не так с моим запросом? Это какая-то синтаксическая ошибка?