1
私はMEAN STACKでプロジェクトを開発中ですので、国、州、都市をインポートする必要があります 次のコードからです。
jsonファイルから国や州をインポートできますが、都市ではすべてではなく最初の文書(レコード)のみをインポートできます。mongodbに文書(レコード)を挿入できません
Route.js
router
.route('/api/user/loadcity')
.get(
function(req, res, next) {
var fs = require("fs");
fs.readFile('/home/user7/Downloads/city.json', 'utf8', function (err,data) {
data = JSON.parse(data);
for(var i = 0; i < data.length; i++) {
console.log(data[i].city_name);
var newCity = new City({
id:data[i].id,
country_id : data[i].country_id,
state_id : data[i].state_id,
city_name : data[i].city_name,
is_active : data[i].is_active
});
newCity.save(function (err) {
if(err){
console.log(err);
}
});
}
});
});
router
.route('/api/user/loadcountry')
.get(
function(req, res, next) {
var fs = require("fs");
fs.readFile('/home/user7/Downloads/country.json', 'utf8', function (err,data) {
data = JSON.parse(data);
for(var i = 0; i < data.length; i++) {
//console.log(data[i].city_name);
var newCountry = new Country();
newCountry.id = data[i].id;
newCountry.country_name = data[i].country_name;
newCountry.country_code = data[i].country_code;
newCountry.country_flag = data[i].country_flag;
newCountry.is_active = data[i].is_active;
newCountry.save(function (err) {
if(err) console.log(err);
});
}
});
});
router
.route('/api/user/loadstate')
.get(
function(req, res, next) {
var fs = require("fs");
fs.readFile('/home/user7/Downloads/state.json', 'utf8', function (err,data) {
data = JSON.parse(data);
for(var i = 0; i < data.length; i++) {
console.log(data[i].state_name);
var newState = new State({
id:data[i].id,
country_id : data[i].country_id,
state_name : data[i].state_name,
is_active : data[i].is_active
});
newState.save(function (err) {
if(err) console.log(err);
});
}
});
});
形態正常に動作して上記コードloadcountryとLoadStateのルーティングコード、 しかしloadcityルーティングコードは、一つの文書(レコード)を挿入することができます。
依存関係
country.json =>
file size 48.9 kB (48,883 bytes)
total records 252
state.json =>
file size 362.5 kB (3,62,478 bytes)
total records 2800
city.json =>
file size 21.0 MB (2,09,63,600 bytes)
total records 142987
"express" => "version": "4.13.4",
"mongoose" => "version": "4.4.4",
"mongodb" => "version": "2.4.9",
"OS" => "ubuntu 14.04 lts 32bit",
誰もがこれらのすべての都市を挿入するために私を助けることができます。
感謝を使用しますが、このコードはまた、最初のドキュメント(レコード)を挿入するだけでなく、すべてまたは最後の、私に別の提案をしてください。 – laxman
非同期ライブラリを使用し、async.forEachを使用する...これはあなたに問題をソートするはずです – Thalaivar