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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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 无法将类型bson.Raw转换为bson文档:读取的长度超过可用字节数_Mongodb_Go - Fatal编程技术网

Mongodb 无法将类型bson.Raw转换为bson文档:读取的长度超过可用字节数

Mongodb 无法将类型bson.Raw转换为bson文档:读取的长度超过可用字节数,mongodb,go,Mongodb,Go,试图将一些json数据从API添加到数据库,但在尝试时出现此错误 无法将类型bson.Raw转换为bson文档:读取的长度超过可用字节数。长度=259839字节=1919951 我知道json远远低于mongodb的16mb限制,我甚至尝试从中导入一些小数据,但都出现了相同的错误。我只能导入一个测试结构来查看它是否正常工作,但我的api数据似乎没有通过。是否需要对api数据进行某种类型的转换?这是我的golang代码 func main(i int) { url := "http://

试图将一些json数据从API添加到数据库,但在尝试时出现此错误

无法将类型bson.Raw转换为bson文档:读取的长度超过可用字节数。长度=259839字节=1919951

我知道json远远低于mongodb的16mb限制,我甚至尝试从中导入一些小数据,但都出现了相同的错误。我只能导入一个测试结构来查看它是否正常工作,但我的api数据似乎没有通过。是否需要对api数据进行某种类型的转换?这是我的golang代码

func main(i int) {

    url := "http://api.open-notify.org/astros.json"

    resp, err := http.Get(url)
    if err != nil {
        log.Fatalln(err)
    }

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatalln(err)
    }
    // _ = body
    log.Println(string(body))


    clientOptions := options.Client().ApplyURI("mongodb+srv://username:password@cluster0-slmxe.mongodb.net/dbtest?retryWrites=true&w=majority")

    // Connect to MongoDB
    client, err := mongo.Connect(context.TODO(), clientOptions)

    if err != nil {
        log.Fatal(err)
    }

    err = client.Ping(context.TODO(), nil)

    if err != nil {
        log.Fatal(err)
    }

    fmt.Println("Connected to database")

    collection := client.Database("dbtest").Collection("test")

    insertResult, err := collection.InsertOne(context.TODO(), body)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("Inserted", insertResult.InsertedID)

    }

您需要用bson.D包装json,以便能够将数据发送到Mongodb。这是为了构建本机go类型的表示。示例如下:

// insert the document {name: "Alice"}
res, err := coll.InsertOne(context.TODO(), bson.D{{"name", "Alice"}})
if err != nil {
    log.Fatal(err)
}
请参阅以下文件:

您需要用bson.D包装json,以便能够将数据发送到Mongodb。这是为了构建本机go类型的表示。示例如下:

// insert the document {name: "Alice"}
res, err := coll.InsertOne(context.TODO(), bson.D{{"name", "Alice"}})
if err != nil {
    log.Fatal(err)
}
请参阅以下文件:

我有JSON编码的数据(类型[]字节)如何将其导入Mongo?我有JSON编码的数据(类型[]字节)如何将其导入Mongo?