node.js - MongoDB 的 JSON 输入
问题描述
我有两种类型的 JSON 文件要插入到我的 mongodb 数据库中。我正在使用 mongoose 和 nodejs 来尝试。我该怎么做?我试图在网上寻找可能的解决方案,但我一无所获。这两个 JSON 文件都有大约数百个输入。所以,一一插入并不是一个好的解决方案。我将在此处给出模式的数据示例。
类型 1:
[
{
"name" : "Jonathan",
"lastName": "Smith"
},
{
"name" : "Simon",
"lastName": "Williams"
}
]
类型 2:
[
{
"id": 1,
"type": "fruit",
"inStock": [
{
"count": 15,
"items": [
{
"name": "apple",
"amount": 12
},
{
"name": "orange",
"amount": 3
}
]
}
},
{
"id": 2,
"type": "vegetable",
"inStock": [
{
"count": 18,
"items": [
{
"name": "carrot",
"amount": 10
},
{
"name": "lettuce",
"amount": 8
}
]
}
}
]
我的架构会是什么样的?如何解析我的 JSON 文件?示例代码将不胜感激。
好的,这是我为此编写的代码。
const fs = require("fs");
const mongoose = require('mongoose');
var assert = require('assert')
mongoose.connect('mongodb://localhost:27017/person'), { useNewUrlParser: true};
var personSchema = new mongoose.Schema({
name: String,
lastname: String
});
const Person = mongoose.model("Person", personSchema);
var data = fs.readFileSync('people.json');
let mydata = JSON.parse(data);
console.log(mydata);
Person.collection.insertMany(mydata, function(err) {
if(err){
console.log("There was an error");
console.log(err);
}else{
console.log("Success");
}
})
控制台给了我成功。我有一个数据库。但是,我没有收藏。我在这里做错了什么?
我认为我的问题不在于我的代码不起作用。出于某种原因,我的代码即使是简单的教程代码也不会将任何集合保存到数据库中。我不知道为什么。
解决方案
推荐阅读
- reactjs - 带有 LIKE 运算符的下拉菜单 react-bootstrap-table2
- angularjs - angularJS中组件内的组件
- consul - hashicorp consul is not publishing all the metrics
- instagram - Instagram api thumbnail_url 给出 5xx 服务器错误
- python-3.x - 识别重叠对象
- c# - 检查结束前是否少于 7 天
- jquery - If/else statement making link work or disabled
- asp.net-core - MVC based authentication templates in ASP.NET Core 2.0
- hibernate - 获取半径内的所有位置(Spring Boot)
- php - 将带有变量的链接添加到 WooCommerce 邮件