使用nodeJS和mongoose将外部JSON文件导入MongoDB

时间:2019-02-08 06:27:08

标签: node.js json mongodb mongoose

1. City.json (json-file) 

    {
      "id": "1",
      "name": "Bombuflat",
      "state_id": "1"
    },
    {
      "id": "2",
      "name": "Garacharma",
      "state_id": "1"
    },
    {
      "id": "3",
      "name": "Port Blair",
      "state_id": "1"
    }

如何使用nodeJs和mongoose将以上城市的json数据(仅一次)存储到mongoDB中

2 个答案:

答案 0 :(得分:0)

您应该通过将正文作为JSON传递来编写post API,并将其保存到所需的Mongo DB集合中。

Mongo数据库中的所有文档都将另存为JSON。

我希望您是Node js和mongo db的新手。 请仔细阅读nodeJs文档和Mongo DB文档。

这将帮助您编写第一个帖子API

app.post('/city', (req, res) => {
const body = req.body();
City.save(body)
.then(response => {
  console.log('saved to mongo db', response);
  res.json(response);
})
.catch(error => {
  console.log('error in saving to mongo db', error);
  res.json(error);
});
});

答案 1 :(得分:0)

解决方案1 ​​

请将City.json文件制成City.js,并使用正确的解决方案

{% for article in articles %}
    ...

    <a href="{{ article|article_url }}">
        {{ article.title }}
    </a>
    ...
{% endfor %}

在路线中和要插入的位置。编写此代码

const citites = [{
      "id": "1",
      "name": "Bombuflat",
      "state_id": "1"
    },
    {
      "id": "2",
      "name": "Garacharma",
      "state_id": "1"
    },
    {
      "id": "3",
      "name": "Port Blair",
      "state_id": "1"
    }
]
module.exports = citites

解决方案2

请把City.json作为json文件中的数组,以便我们读取孔文件并插入文档

 const cities = require('./City')
 // db.city.insertMany(cities)  using mongo client 
 // City.insertMany(cities)  using Mongoose
 console.log(cities)

还有

[{
  "id": "1",
  "name": "Bombuflat",
  "state_id": "1"
},{
  "id": "2",
  "name": "Garacharma",
  "state_id": "1"
},{
  "id": "3",
  "name": "Port Blair",
  "state_id": "1"
}]