首页 > 解决方案 > 将制表符分隔的文本文件放入 MongoDB 集合的最佳方法

问题描述

我有一个以文本文件形式提供给我的产品数据表,数据格式如下:

**开始

IB 1107518415

BI平装本

卑诗省

卑诗省

CO 英国

ED阿尔瓦雷斯,R.迈克尔

IU 46 黑白插图。2张地图18张桌子

国会议员否

PD 20160307

I3 9781107518414

**

基本上,遵循一个 TAG 系统,其中每个 TAG 都有一个唯一的 2 位标识符,后跟相关数据本身。CR/LF 将位于每个字段的末尾。

** 标记用于指示新记录的开始。

该文件是 3 GB,它有 600 万条这样的记录,每条记录最多有 43 个字段,有些字段有多个值,比如上面示例中的“BC”字段,我需要这两个值。

将此文件放入集合的最佳方法是什么?

谢谢穆罕默德

标签: mongodbimport

解决方案


这可以通过两个步骤完成:

步骤 1.将文件转换为可用格式(CSV 或 JSON)

您可以使用正则表达式来获取所有字段,例如

/^\*\* START IB (.+) BI (.+) BC (.+) BC (.+) CO (.+) ED (.+) MP (.+) PD (.+) PA (.+) NP (.+) RP (.+) RI (.+) RE (.+) DI (.+) PU (.+) YP (.+) DE (.+) EA (.+) RF (.+) WE (.+) SG (.+) GC (.+) I3 (.+)/

你可以看到它在这里工作

步骤 2.使用 mongoimport 导入文件,此处回答


推荐阅读