我在 mgo 中使用管道函数来检索数据。我的数据结构如下。
type Company struct {
Id bson.ObjectId `bson:"_id,omitempty"`
CompanyName string
Slug string
CompanyUsers []CompanyUser
}
type CompanyUser struct {
UserName string
Email string
FullName string
}
我需要检查具有给定“Slug”的“公司”中的“公司用户”下是否存在给定的“用户名”。
Slug 和 UserName 都由用户提供。
使用 Pipe 函数我成功完成了搜索,但返回的数据是一个空的 CompanyUsers 数组。
我的查询如下:
var companyResults []Company
pipeline := []bson.M{
{"$match": bson.M{"slug": slug}},
{"$unwind": "$companyusers"},
{"$match": bson.M{
"companyusers.username": username,
}},
}
err := c.Pipe(pipeline).All(&companyResults)
这为我提供了如下搜索结果:
[{ObjectIdHex("573aa0fddd731711c94830ca") MyCompany companyslug [] }]
没有检索到 CompanyUsers 中的任何数据。我该如何解决这个错误?
红糖糍粑
阿晨1998
相关分类