据我所知,我们可以使用
> db['twitter-3'].find({}, {"text": 1})
选择集合中的所有文本。
我们如何使用mgo在golang中找到特定的字段? 我试过了
var result []string
err = conn.Find(bson.M{}, bson.M{"text", 1}).All(&result)
但这不正确。
答案 0 :(得分:21)
使用查询Select方法指定要返回的字段:
var result []struct{ Text string `bson:"text"` }
err := c.Find(nil).Select(bson.M{"text": 1}).All(&result)
if err != nil {
// handle error
}
for _, v := range result {
fmt.Println(v.Text)
}
在这个例子中,我声明了一个带有一个选定字段的匿名类型。可以使用包含所有文档字段的类型。
答案 1 :(得分:2)
选择多个字段:
var result []struct{
Text string `bson:"text"`
Otherfield string `bson:"otherfield"`
}
err := c.Find(nil).Select(bson.M{"text": 1, "otherfield": 1}).All(&result)
if err != nil {
// handle error
}
for _, v := range result {
fmt.Println(v.Text)
}
答案 2 :(得分:0)
var result interface{}
err = c.Find(nil).Select(bson.M{"text": 1}).All(&result)