首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用nodejs将具有嵌套json数组而没有键的json文件导入mongodb

如何使用nodejs将具有嵌套json数组而没有键的json文件导入mongodb
EN

Stack Overflow用户
提问于 2016-05-05 10:00:14
回答 1查看 802关注 0票数 1

我对Mongo很陌生,我想用没有键的嵌套json数组导入json文件,但是我不知道如何解析这种格式,然后导入到mongodb。让我解释一下->

以下是我从PDF文件转换而来的Json文件:

代码语言:javascript
复制
[  
   [  
      "S. No.",
      "Bank Name",
      "First 4 Letters of ",
      "IFSC",
      "Short Code",
      "Multimodal Code"
   ],
   [  
      "1",
      "Abhyudaya Co-op Bank",
      "ABHY",
      "ACB",
      "*99*87#"
   ],
   [  
      "2",
      "Allahabad Bank",
      "ALLA",
      "ALB",
      "*99*54#"
   ],
   [  
      "3",
      "Andhra Bank",
      "ANDB",
      "ANB",
      "*99*59#"
   ],
   [  
      "4",
      "Apna Sahakari Bank",
      "ASBL",
      "APN",
      "*99*85#"
   ],
   [  
      "5",
      "Axis Bank",
      "UTIB",
      "AXB",
      "*99*45#"
   ]
]

现在,我想使用node.js expect第一个数组直接导入mongodb,这是不敬的:

代码语言:javascript
复制
[  
      "S. No.",
      "Bank Name",
      "First 4 Letters of ",
      "IFSC",
      "Short Code",
      "Multimodal Code"
 ]

好的,在mongodb中存储数据之后,我需要查找查询的结果,如下所示:

代码语言:javascript
复制
{“banks”: [ 
 {“name”: “Abhyudaya Co-op Bank”,  “ifsc”: “ABHY”, “sc”: “ACB”},
 {“name”: “Allahabad Bank”,  “ifsc”: “ALLA”, “sc”: “ALB”}, 
 {“name”: “Andhra Bank”,  “ifsc”: “ANDB”, “sc”: “ANB”},
 {“name”: “Apna Sahakari Bank”,  “ifsc”: “ASBL”, “sc”: “APN”},
 {“name”: “Axis Bank”,  “ifsc”: “UTIB”, “sc”: “AXB”}
 ]}

请帮助我用node.js代码或查询导入这个文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-05 19:35:54

尝尝这个。我只做了两个参数,你请把其他的相应地。将代码放入.js文件中。我想您必须已经在数据库中使用_id:0 (我在这里匹配)和“bank”创建了一个集合'tmp‘(或者您想要的东西)。我试着把doc.length放在for循环中,不知怎么它不起作用,所以我放了5个there.you就可以了。几秒钟后检查"tmp“集合,即使节点命令没有以node.js shell结尾。

代码语言:javascript
复制
var MongoClient = require('mongodb').MongoClient;var assert = require('assert');var ObjectId = require('mongodb').ObjectID;var url = 'mongodb://localhost:27017/test';var insertDocument = function(db, callback) {

doc = "put your doc here"
for (i = 1; i <= 5; i++){var a =  doc[i][1];var b =  doc[i][2];db.collection('tmp').update({_id:0},{ "$push" : {"banks" :{"name": a,"ifsc": b}}});}; } 

MongoClient.connect(url, function(err, db) { assert.equal(null, err);insertDocument(db, function() {
  db.close();});});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37047647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档