У меня есть данные json в переменной
let records = {
"Name":"Stephen",
"Age":10,
"School":"PSB"
},
{
"Name":"Rocky",
"Age":09,
"School":"BSR"
},
{
"Name":"Emy",
"Age":15,
Создал схему с мангустом с именем post.js
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,
1 ответ
Вы должны иметь возможность передавать массив в Model.create
. Поэтому вместо того, чтобы оборачивать массив в объект, вы можете просто сделать:
await Post.create(JSON.parse(records));
Также обратите внимание, что JSON.parse
необходимо, только если records
, например, json-строка. Если это уже массив, вы можете передать его напрямую:
let records = [{
"Name":"Stephen",
"Age":10,
"School":"PSB"
},
{
"Name":"Rocky",
"Age":09,
"School":"BSR"
}];
await Post.create(records);
Похожие вопросы
Новые вопросы
node.js
Node.js — это основанная на событиях, неблокирующая, асинхронная среда выполнения ввода-вывода, использующая движок Google V8 JavaScript и библиотеку libuv. Он используется для разработки приложений, которые интенсивно используют возможность запуска JavaScript как на стороне клиента, так и на стороне сервера и, следовательно, выигрывают от возможности повторного использования кода и отсутствия переключения контекста.