Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何在mongo db中获取数组中的元素数。我正在使用go lang ie mgo驱动程序?_Mongodb_Go_Bson_Mgo - Fatal编程技术网

Mongodb 如何在mongo db中获取数组中的元素数。我正在使用go lang ie mgo驱动程序?

Mongodb 如何在mongo db中获取数组中的元素数。我正在使用go lang ie mgo驱动程序?,mongodb,go,bson,mgo,Mongodb,Go,Bson,Mgo,我有以下代码,但当我得到nil结果时,我被困在获取喜欢的计数上 package main import ( "fmt" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" "os" ) func main() { uri := "mongodb://root:tempyml@localhost:27017" sess, err := mgo.Dial(uri) if err != nil {

我有以下代码,但当我得到
nil
结果时,我被困在获取喜欢的计数上

package main

import (
    "fmt"
    "gopkg.in/mgo.v2"
    "gopkg.in/mgo.v2/bson"
    "os"
)

func main() {
    uri := "mongodb://root:tempyml@localhost:27017"

    sess, err := mgo.Dial(uri)
    if err != nil {
        fmt.Printf("Can't connect to mongo, go error %v\n", err)
        os.Exit(1)
    }
    defer sess.Close()

    sess.SetSafe(&mgo.Safe{})
    collection := sess.DB("visibl_dev").C("user_videos")

    pipe := collection.Pipe([]bson.M{{"$project": bson.M{"likes": 1,
        "likeCount": bson.M{"$size": "$likes"}}}})
    result := []bson.M{}
    err = pipe.All(&result)
    if err != nil {
        //handle error
    }
    fmt.Println(result)
}

有什么错误吗?您似乎已经注释掉了错误处理部分。我在本地计算机上运行了一个示例,没有任何问题。您使用的Go和Mongo版本是什么?我还建议为您的结果构建一个结构,而不是使用bson.MI错误,错误是“exception:the argument to$size必须是一个数组,但类型为:EOO”。是否有任何错误?您似乎已经注释掉了错误处理部分。我在本地计算机上运行了一个示例,没有任何问题。您使用的Go和Mongo版本是什么?我还建议为您的结果构建一个结构,而不是使用bson.MI错误,错误是“异常:$size的参数必须是数组,但类型为:EOO”