10

MongoDBのコマンドを使用して集計パイプライン クエリを作成して$substrいますが、Go で必要な配列を mgo ドライバーで表す方法がわかりません。これにはさまざまな種類の値 (string、int) が含まれているためです。

以下は JavaScript でのクエリです。

[ {$group: {"_id": {"dt": {"$substr": ["$dt",0,6]}}}} ]

これがやろうとしているのはdt、開始インデックス 0 と終了インデックス 6 で (集計の前の段階から) の部分文字列を取得することです。

Goで私は得ました:

[]bson.M{"$group": bson.M{"_id": bson.M{"dt": bson.M{"$substr": ["$dt",0,6]}}}}}

しかし、これ["$dt",0,6]は正しい表現ではなく、私が試みたすべてが失敗したようです。

4

1 に答える 1

14

type のスライスを使用してこれらの値を表すことができます[]interface{}

    l := []interface{}{"$dt", 0, 6}

構文が少し汚れている場合は、ローカル型を簡単に定義して見栄えを良くすることができます。

    type list []interface{}
    l := list{"$dt", 0, 6}
于 2013-09-27T17:12:55.940 に答える