2016-05-14 18 views
1

MongoDBコレクション内のユーザー名を文字列で含むすべてのユーザーを検索しようとしています。私はGolangをmgoドライバと一緒に使用しています。

type User struct { 
    ... 
     Friends  []string `json: friends bson:"friends,omitempty"` 
    ... 
    } 

    ... 
    // username is a string 
    arr := []string{username} 

    err := c.Find(bson.M{"friends": {"$in": arr}}).All(&users) 
    ... 

私はこのエラーを取得する: にhttp:パニックは、サービング[:: 1]:56358:nilにマップ内のエントリに割り当て

任意の助けいただければ幸いです。

答えて

3

"$ in"を間違って使用しています。あなたは内部マップを初期化していません。あなたはこれを次のように使用することになっています:

err := c.Find(bson.M{"friends": bson.M{"$in": arr}}).All(&users) 
+0

私はそれを試してみました。 http:panic serving [:: 1]:59541:nilマップのエントリへの割り当て –

+1

HTTP応答の行がダウンしていても問題はありません。問題を解決したことは間違いありません。お手伝いありがとう! –

関連する問題