Golang,MongoDB,有问题使用$ in查找数组属性中包含一个字符串的所有元素

时间:2016-05-14 20:52:43

标签: mongodb go

我正在尝试查找MongoDB集合中包含friends数组中的用户名字符串的所有用户。我正在使用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:panic serving [:: 1]:56358:在nil map中分配条目

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

您正在使用“$ in”错误。你没有初始化内部地图。你应该像这样使用它:

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