我正在尝试打印我知道包含搜索词的6个对象。我能够看到正确长度/大小/容量的查询数组。但是当我迭代数组并打印时,它们不包含任何信息。
我最初的反应是,我的结果可能是错误的界面。
代码段:
var sTerm = "Google"
index := mgo.Index{
Key: []string{"product.maker", "product.product"},
}
err = col.EnsureIndex(index)
//err = col.EnsureIndexKey("product.maker")
check(err)
//query := col.Find(bson.M{"$text": bson.M{"$search": sTerm}})
query := col.Find(bson.M{"product.maker": sTerm})
//query := col.Find(bson.M{"product.maker": &bson.RegEx{Pattern: sTerm, Options: "i"}})
fmt.Println(query)
var res []struct{ Value int }
err = query.All(&res)
check(err)
fmt.Println(res)
for i := 0; i < len(res); i++ {
fmt.Println(res[i])
}
输出:
&{{0 0} 0xc042056d00 {{devbase.devices map[product.maker:Google] 0 0 <nil> 0 <nil> 0 {<nil> <nil> <nil> false false [] 0 0 } false []} 0.25 0}}
[{0} {0} {0} {0} {0} {0}]
{0}
{0}
{0}
{0}
{0}
{0}
目前,我正在硬编码搜索词,我已经为响应和Gorilla多路复用器设置了一个http处理函数。
答案 0 :(得分:1)
永远不会!
var res = []bson.M{}
我知道我知道......我现在会自己开枪。哈哈!不管怎样,谢谢!