问题标签 [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.
javascript - 使用 Javascript/Node.js 在代码中执行 mongoimport
node.js/javascript 中是否有任何库允许个人mongoimport
在代码中使用?
据我了解,mongoimport 有点像 .exe,您必须先执行它,然后才能使用它的文本输入环境。
是否可以在我的代码中执行 mongoimport,然后在我的代码中直接解析我需要的任何命令?
我目前的算法涉及:
JSON.stringify
obj 是一个对象,它指定使用 node.js的res
方法(请求 HTTP 响应)解析成哪些函数
然后我使用 mongoimport 将此 JSON 文档导入到我的 MongoDB 中。
mongoimport --host localhost -db scrapeapp -collection scrape --file log.txt --jsonArray
这种方法显然效率低下。我想一口气完成所有这些步骤。
帮助表示赞赏
mongodb - 将大文件和数据导入 MongoDB 的内存高效方法?
在最近尝试了 MongoDB 之后,我尝试了几种不同的方法来将大量数据导入/插入到集合中。到目前为止,我发现的最有效的方法是 mongoimport。它工作得很好,但仍然有开销。即使在导入完成后,除非我重新启动机器,否则内存仍不可用。
例子:
我的标题和数据如下所示:
有 530 万行乘 20 列,大约 900MB,我最终是这样的:
从长远来看,这对我不起作用;我可能并不总是能够重新启动,或者最终会耗尽内存。导入 MongoDB 的更有效方法是什么?我已经阅读了有关定期 RAM 刷新的信息,我该如何实现与上面的示例类似的内容?
更新: 我认为我的案例不会从调整 fsync、syncdelay 或日志中受益匪浅。我只是好奇什么时候这是一个好主意和最佳实践,即使我在高 RAM 服务器上运行。
mongodb - mongoimport 将集合留空一段时间
我愿意
这返回没有错误(即使我添加--stopOnError
它返回存在状态 0 并且没有错误)。
那么如果我这样做
它返回
但是,当我登录 mongo 控制台时,我看到数据在那里。
有什么建议么?我正在使用 mongo 2.2。
我看到了类似的问题mongoimport is not shown the collection after import has been running,但是检查服务器日志我没有看到任何问题。
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 数据库。
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
- Somebody suggested putting all on one-line. A decent suggestion. I tried it and it didn't work.
- 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 usingmongoimport
. (I can add documents frommongo
shell just fine.)
A sample of the JSON is below.
2_read.json
Thanks.
mongodb - mongoimport 包括导入时间
我目前正在使用这样的 mongoimport 将许多 JSON 文件导入我的数据库。
这很好用,但是,我想添加一个记录导入时间时间戳的字段(我正在使用 cron 作业,因此该脚本在不同时间运行)。我该怎么做?
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 核的计算机。谢谢。
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 位整数的原因。问题已解决。
希望这对其他人有帮助!
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 或任何其他工具来实现这一点
谢谢
mongodb - mongodb - mongoimport stopOnError 选项
根据 mongodb 文档,stopOnError 选项强制 mongoimport 在第一个错误时停止导入操作,而不是在出现错误时继续操作。
此选项适用于哪些各种错误?
我已经针对以下错误情况对其进行了测试:
停止了 mongod 实例。我收到以下错误,表明它失去了与 mongodb 的连接。
/li>再次将相同的文件导入相同的数据库和集合。这应该给我重复输入错误。虽然显示了错误,但导入并未停止。
/li>
现在,我很困惑。stopOnError 仅适用于网络错误还是也适用于写入错误?有什么方法可以在使用 mongoimport 时设置写入问题或获取 getLastError 状态?