私が知っているように、私たちは使用することができます
> db['Twitter-3'].find({}, {"text": 1})
コレクション内のすべてのテキストを選択します。
Mgoを使用してgolangの特定のフィールドを見つけるにはどうすればよいですか?私は試した
var result []string
err = conn.Find(bson.M{}, bson.M{"text", 1}).All(&result)
しかし、それは正しくありません。
クエリ 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つの選択されたフィールドで匿名型を宣言しました。すべてのドキュメントフィールドでタイプを使用しても問題ありません。
複数のフィールドを選択するには:
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)
}
var result interface{}
err = c.Find(nil).Select(bson.M{"text": 1}).All(&result)