繁体   English   中英

读取 json 并上传到 mongo db 出现错误 - ObjectParameterError: Parameter "obj" to Document() must be an object,

[英]Read json and upload to mongo db getting error - ObjectParameterError: Parameter "obj" to Document() must be an object,

我在一个变量中有一个 json 数据

 let records =    {
       "Name":"Stephen",
       "Age":10,
       "School":"PSB"
    },
    {
       "Name":"Rocky",
       "Age":09,
       "School":"BSR"
    },
    {
       "Name":"Emy",
       "Age":15,

使用名为 post.js 的 mongoose 创建了一个架构

    const mongoose = require("mongoose")
    
    const postSchema = new mongoose.Schema({
        Name:String,
        Age:Number,
        School:String,
    })

const Post = mongoose.model("Post",postSchema)
module.export = Post

现在,我如何更新数据库

const mongoose = require("mongoose")

const Post = require("./database/models/Post")
mongoose.connect("mongodb://localhost/node-js-blog")

Post.create({
JSON.parse(records)
}) 

但它抛出了错误。

那么你能帮助我如何将这个 json 数据传递给表集合吗?

我收到错误:

ObjectParameterError: Parameter "obj" to Document() must be an object,

您应该能够将 数组传递给Model.create 因此,您可以简单地执行以下操作,而不是将数组包装在对象中:

await Post.create(JSON.parse(records)); 

另请注意JSON.parse仅当records是例如 json-string 时才需要。 如果它已经是一个数组,你可以直接传递它:

 let records =    [{
       "Name":"Stephen",
       "Age":10,
       "School":"PSB"
    },
    {
       "Name":"Rocky",
       "Age":09,
       "School":"BSR"
    }];

await Post.create(records);  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM