问题标签 [mongoimport]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8344 浏览

javascript - 使用 Javascript/Node.js 在代码中执行 mongoimport

node.js/javascript 中是否有任何库允许个人mongoimport在代码中使用?

据我了解,mongoimport 有点像 .exe,您必须先执行它,然后才能使用它的文本输入环境。

是否可以在我的代码中执行 mongoimport,然后在我的代码中直接解析我需要的任何命令?

我目前的算法涉及:

JSON.stringifyobj 是一个对象,它指定使用 node.js的res方法(请求 HTTP 响应)解析成哪些函数

然后我使用 mongoimport 将此 JSON 文档导入到我的 MongoDB 中。

mongoimport --host localhost -db scrapeapp -collection scrape --file log.txt --jsonArray

这种方法显然效率低下。我想一口气完成所有这些步骤。

帮助表示赞赏

0 投票
1 回答
2237 浏览

mongodb - 将大文件和数据导入 MongoDB 的内存高效方法?

在最近尝试了 MongoDB 之后,我尝试了几种不同的方法来将大量数据导入/插入到集合中。到目前为止,我发现的最有效的方法是 mongoimport。它工作得很好,但仍然有开销。即使在导入完成后,除非我重新启动机器,否则内存仍不可用。

例子:

我的标题和数据如下所示:

有 530 万行乘 20 列,大约 900MB,我最终是这样的:

高架

从长远来看,这对我不起作用;我可能并不总是能够重新启动,或者最终会耗尽内存。导入 MongoDB 的更有效方法是什么?我已经阅读了有关定期 RAM 刷新的信息,我该如何实现与上面的示例类似的内容?

更新: 我认为我的案例不会从调整 fsync、syncdelay 或日志中受益匪浅。我只是好奇什么时候这是一个好主意和最佳实践,即使我在高 RAM 服务器上运行。

0 投票
1 回答
243 浏览

mongodb - mongoimport 将集合留空一段时间

我愿意

这返回没有错误(即使我添加--stopOnError它返回存在状态 0 并且没有错误)。

那么如果我这样做

它返回

但是,当我登录 mongo 控制台时,我看到数据在那里。

有什么建议么?我正在使用 mongo 2.2。

我看到了类似的问题mongoimport is not shown the collection after import has been running,但是检查服务器日志我没有看到任何问题。

0 投票
2 回答
337 浏览

json - 我如何将包含 200 多个文档的 JSON 文件导入 mongodb

我创建了一个demodb.json文件(有 10 个文档)并将其保存在我的系统D:\驱动器中

的内容demodb.json是:

我的MongoDB位置是:D:\SanMongoDB

我所有的数据库和收藏都存储在D:\SanMongoDB\MongoData

demodb-->city集合的内容如下

我启动了 Mongod 服务器,然后打开了 mongo 客户端在 mongo 客户端中,我执行了以下操作:

使用 demodb mongoimport -d demodb -c city --type json --file demodb.json --jsonarray

但我发现错误如下

Thu May 09 08:21:57.861 Javascript execution failed:SyntaxError:Unexpected identifier

请建议我需要做什么,以便我可以轻松地将 Json 文件导入现有的 Mongodb 数据库。

0 投票
2 回答
19403 浏览

mongodb - Importing JSON file using mongimport, keep getting `unexpected identifier`?

I'm trying to add a JSON file to mongodb using mongoimports from terminal, here:

I keep getting JavaScript execution failed: SyntaxError: Unexpected identifier I ran my JSON through JSON Lint: http://jsonlint.com/ which says it's valid JSON.

I'm not sure what could be tripping up the import process?? Or how to investigate further to hunt down the issue?

UPDATE

  1. Somebody suggested putting all on one-line. A decent suggestion. I tried it and it didn't work.
  2. I tried importing a very very simple json file named simple.json with the content {'content' : 'simple'} But I'm still getting the same error using mongoimport. (I can add documents from mongo shell just fine.)

A sample of the JSON is below.

2_read.json

Thanks.

0 投票
1 回答
827 浏览

mongodb - mongoimport 包括导入时间

我目前正在使用这样的 mongoimport 将许多 JSON 文件导入我的数据库。

这很好用,但是,我想添加一个记录导入时间时间戳的字段(我正在使用 cron 作业,因此该脚本在不同时间运行)。我该怎么做?

0 投票
1 回答
3761 浏览

mysql - MONGODB Mongoimport 可能加快速度?

我有一个 2 GB 的 CSV 文件,其中包含 9 M 条记录,我使用本机 mongoimport 工具将其导入 MongoDB。它以每秒 8K 的速度导入 CSV。总时间为10分钟。导入的速度相当合理,但似乎比 MySQL LOAD DATA INFILE 版本慢很多(只需 2 分钟即可将所有记录插入数据库)。虽然这是可以接受的(MongoDB 是为 JSON 类型的对象构建的,并且加速通常是在查询中而不是在插入中),但我想知道是否有某种方法可以加快在 MongoDB mongoimport 中完成的每秒插入次数? 我只有一台具有 8 GB RAM 和 4 核的计算机。谢谢。

0 投票
1 回答
971 浏览

mongodb - 使用 mongoimport 导出和导入后某些字段的类型发生变化

嗨,提前感谢您的帮助。我无法在其他帖子上找到这个问题或解决方案,如果我错过了,请告诉我。

我的问题是,在导出并导入另一个集合后,我看到一些字段的 $type 值发生了变化。我在环境 A 的集合中有数据,我想将其导出并导入到不同的环境 B。查看环境 A 中的源数据时,所有类型的字段都是正确的 64 位整数($type 18 -来自文档)。但是,一旦将数据导入到环境 B 中,720 个文档中的 5 个的 $type 为 16(32 位整数)。

环境 A 的输出:

使用等效命令从环境 A 导出数据: mongoexport --host my.environment.a.host.com -d myDb -c myCollection -o outputFile.json

使用等效命令将数据导入环境 B: mongoimport --host my.environment.b.host.com -d myDb -c myCollection --file outputFile.json

查看环境 B 中的数据,我看到以下计数/类型:

db.plaAdGroupDoc.count()
0
db.productDoc.count({createTime : {$type : 16}})
5
db.productDoc.count({createTime : {$type : 18}})
715
db.productDoc.count( )
720

我不清楚为什么该字段的类型从导入中发生了变化。而且,为什么只有一小部分字段发生了变化。任何见解将不胜感激。

谢谢!

编辑:已解决(无法在 8 小时内回答问题) 再看一下,似乎导入为 32 位整数($type 16)的 5 个整数的值为 0,而不是大值。这似乎是他们默认使用整数而不是 64 位整数的原因。问题已解决。

希望这对其他人有帮助!

0 投票
1 回答
2334 浏览

mongodb - 将 .csv 文件导入 mongodb

我正在尝试将数据从 csv 文件导入到 mongodb

具有以下数据的 CSV 文件

7259555112 774561213 3 4

7259555112 774561214 4 5

7259555112 774561215 1 3

7259555112 774561216 2 1

7259555112 774561217 4 2

7259555112 774561218 6 1

7975795117 7599702622 3 2

7975795117 7599702623 2 1

其中第一个数字是 MISDIN(cell_number),第二个数字是 MISDIN 第三个字段是第一个 MISDIN 从第二个获得多少传入第四个字段是从第一个到第二个有多少传出

我想将它导入到 mongodb,我需要收集模式,如下所示

7259555112(first_doucment 我想将第一个 Misdin 作为索引)

{

{MSISDN:774561213

传入计数:4

传出计数:3

总数:7

is_EE:1

},

{MSISDN:774561214

传入计数:3

传出计数:2

总数:5

is_EE:1

},

{MSISDN:774561215

传入计数:1

传出计数:2

总数:3

is_EE:0

}

}

7975795117(第二个文件)

{

{MSISDN:7599702622

传入计数:3

传出计数:2

总数:5

is_EE:1

},

{MSISDN:7599702623

传入计数:2

传出计数:1

总数:3

is_EE:1

},

请指导如何使用 mongoimport 或任何其他工具来实现这一点

谢谢

0 投票
1 回答
1124 浏览

mongodb - mongodb - mongoimport stopOnError 选项

根据 mongodb 文档,stopOnError 选项强制 mongoimport 在第一个错误时停止导入操作,而不是在出现错误时继续操作。

此选项适用于哪些各种错误?

我已经针对以下错误情况对其进行了测试:

  1. 停止了 mongod 实例。我收到以下错误,表明它失去了与 mongodb 的连接。

    /li>
  2. 再次将相同的文件导入相同的数据库和集合。这应该给我重复输入错误。虽然显示了错误,但导入并未停止。

    /li>

现在,我很困惑。stopOnError 仅适用于网络错误还是也适用于写入错误?有什么方法可以在使用 mongoimport 时设置写入问题或获取 getLastError 状态?