从规范:嵌入类型必须指定为类型名称 T 或指向非接口类型名称 *T 的指针,并且 T 本身可能不是指针类型。您会看到它提到了“类型名称”。命名类型由(可能限定的)类型名称指定;未命名类型使用类型文字指定,该类型文字从现有类型组成新类型。换句话说,除非将映射或切片定义为命名类型,否则它们可能不是匿名的。例如:type MyMap map[string]stringtype customMap struct{ MyMap ordered []string}但是,即使您嵌入 MyMap 或切片类型,您仍然无法索引 customMap。嵌入时,只能“提升”字段和方法。对于其他一切,它们只是另一个领域。在上面的示例中, MyMap 没有任何字段或方法,因此等效于:type customMap struct{ MyMap MyMap ordered []string}
1 回答
RISEBY
TA贡献1856条经验 获得超5个赞
以下是如何使用从其他查询返回的文档的 id 构造查询。
var docs []bson.M
if err := c.Find(query).All(&docs); err != nil {
// handle error
}
docIDs := make([]interface{}, len(docs))
for i := range docs {
docIds[i] = docs[i]["_id"]
}
query = bson.M{"_id": bson.M{"$in": docIDs}}
- 1 回答
- 0 关注
- 390 浏览
添加回答
举报
0/150
提交
取消