尝试导入包含联系信息的CSV:
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
John Doe,555 Broadway Ave,New York,NY,10010
Run Code Online (Sandbox Code Playgroud)
运行此似乎不会向数据库添加任何文档:
$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline
Run Code Online (Sandbox Code Playgroud)
Trace说imported 1 objects
,但启动Mongo shell并运行db.things.find()
并不会显示任何新文档.
我错过了什么?
我有一个json文件,包含大约2000条记录.与mongo数据库中的文档相对应的每条记录的格式如下:
{jobID:"2597401",
account:"XXXXX",
user:"YYYYY",
pkgT:{"pgi/7.2-5":{libA:["libpgc.so"],flavor:["default"]}},
startEpoch:"1338497979",
runTime:"1022",
execType:"user:binary",
exec:"/share/home/01482/XXXXX/appker/ranger/NPB3.3.1/NPB3.3-MPI/bin/ft.D.64",
numNodes:"4",
sha1:"5a79879235aa31b6a46e73b43879428e2a175db5",
execEpoch:1336766742,
execModify: new Date("Fri May 11 15:05:42 2012"),
startTime: new Date("Thu May 31 15:59:39 2012"),
numCores:"64",
sizeT:{bss:"1881400168",text:"239574",data:"22504"}},
Run Code Online (Sandbox Code Playgroud)
每条记录都位于JSON文件的一行中,唯一的换行符位于每条记录的末尾.因此,文档中的每一行都以"{jobID:"开头......我试图使用以下命令将这些行导入mongo数据库:
mongoimport --db dbName --collection collectionName --file fileName.json
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
Sat Mar 2 01:26:12 Assertion: 10340:Failure parsing JSON string near: ,execModif
0x10059f12b 0x100562d5c 0x100562e9c 0x10025eb98 0x10000e643 0x100010b60 0x10055c4cc 0x1000014b7
0x100001454
0 mongoimport 0x000000010059f12b _ZN5mongo15printStackTraceERSo + 43
1 mongoimport 0x0000000100562d5c _ZN5mongo11msgassertedEiPKc + 204
2 mongoimport 0x0000000100562e9c _ZN5mongo11msgassertedEiRKSs + 12
3 mongoimport 0x000000010025eb98 _ZN5mongo8fromjsonEPKcPi + …
Run Code Online (Sandbox Code Playgroud) 我是 mongoDB 的新手并且有一个免费的 Atlas 帐户。但是,我在 mongo 导入方面遇到了问题。
系统:窗户
>mongo --version
MongoDB shell version v4.2.0
git version: a4b751dcf51dd249c5865812b390cfd1c0129c30
allocator: tcmalloc
modules: none
build environment:
distmod: 2012plus
distarch: x86_64
target_arch: x86_64
Run Code Online (Sandbox Code Playgroud)
mongoimport 字符串:
mongoimport --host Cluster0-shard-0/cluster0-shard-00-00-MY.mongodb.net:27017,cluster0-shard-00-01-MY.mongodb.net:27017,cluster0-shard-00-02-MY.mongodb.net:27017 --ssl --username MYUSER --password MYPASS --authenticationDatabase admin --db db --collection coll --type json --file D:\downloads\records.json
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误:
2019-09-28T15:40:33.108-0600 WARNING: ignoring unsupported URI parameter 'replicaset'
2019-09-28T15:40:33.933-0600 connected to: mongodb://cluster...
2019-09-28T15:40:34.076-0600 Failed: cannot decode array into a D
2019-09-28T15:40:34.076-0600 0 document(s) imported successfully. 0 document(s) failed to import.
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用mongoimports
终端向mongodb添加一个JSON文件,这里:
mongoimport --db my_db --collection my_collection --file /content/2_read.json
Run Code Online (Sandbox Code Playgroud)
我一直在JavaScript execution failed: SyntaxError: Unexpected identifier
通过JSON Lint运行我的JSON:http://jsonlint.com/ ,它说它是有效的JSON.
我不确定什么可能绊倒导入过程?或者如何进一步调查以追捕这个问题?
UPDATE
simple.json
内容命名的json文件{'content' : 'simple'}
但是我仍然使用相同的错误mongoimport
.(我可以从mongo
shell 添加文件就好了.)下面是JSON的示例.
2_read.json
{
"name" : "John",
"tasks" : [
{
"ix" : "1",
"description" : "description of task",
"tags": []
},
{
"ix": "2",
"description" : "description of task",
"tags" : []
}
]
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我是新手mongodb
,想知道json
从一台服务器导入文件到另一台服务器.我尝试了以下命令mongoimport -d test -c bik check.json
,它对我来说很好.现在我想知道什么时候有多个json
文件我如何一次性导入所有这些文件.我找不到任何相关的文件,这是不可能的.请帮助我这是可能的以及如何
成功转储MongoDB:
$ mongodump -h ourhost.com:portnumber -d db_name01 -u username -p
Run Code Online (Sandbox Code Playgroud)
我需要将它导入或导出到测试服务器并与之斗争,请帮我弄清楚.
我试过一些方法:
$ mongoimport -h host.com:port -c dbname -d dbname_test -u username -p
connected to host.
Password: ...
Run Code Online (Sandbox Code Playgroud)
给出了这个错误:
assertion: 9997 auth failed: { errmsg: "auth fails", ok: 0.0 }
$ mongoimport -h host.com:port -d dbname_test -u username -p
Run Code Online (Sandbox Code Playgroud)
给出了这个错误:
no collection specified!
Run Code Online (Sandbox Code Playgroud)
如何指定使用哪个集合?我应该为-d使用什么?我想上传什么或者我想用什么作为测试?我想导入完整的DB不仅是它的集合.
我正试图在我的本地机器上将csv导入mongodb.我在shell中使用了以下命令:
mongoimport -d mydb -c things --type csv --file /Users/..../agentsFullOutput.csv --headerline
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Failed: fields cannot be identical: '' and ''
Run Code Online (Sandbox Code Playgroud)
我找不到任何关于这意味着什么的东西.我究竟做错了什么?顺便说一下,csv文件是mongoexport的结果.
这是列标题和一些数据:
_id build_profile company_address company_name company_website created_at device _token downloaded_app email first_name last_name is_proapp modified_at mobile_phone terms_accepted_at license_number broker_id join_unique_url linkedin_profile_id billing_customer_id billing_zip mobile_phone office_phone vendors_count clients_count app_client
ObjectID(52ab245b763f4aec448b6763) 0 California Lateral test 2014-01-01T08:19:05.470Z test test test 2015-04-18T05:16:37.155Z (123) 123-1234 zip (123) 123-1234 10 5
ObjectID(52b46bfc763f4ad9198b45ab) 7928 test test 2014-01-01T08:19:05.470Z Jennifer Chase 2015-04-15T17:05:17.114Z 5551112 jennifer-chase test 7071 22 64
Run Code Online (Sandbox Code Playgroud) 我尝试通过...导入7.4 MB的JSON文件
mongoimport -d mongoimport -c test --file jsonTest.json
但我看到了这个问题.
Wed Sep 04 13:08:52.378 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
这篇Stackoverflow 帖子提出了与1970年1月1日之前发生的日期类似的问题,但鉴于我的FailedToParse: Expecting '{': offset:0
错误,这似乎不适用.
我正在尝试使用mongoimport命令导入json文档,并尝试了所有可能的方法,但它给出了低于错误.Plz告诉我,我在这里做错了什么.我已经给出了json doc的完整路径.我想导入具有800多条记录的大文档,但因为它失败了所以目前我的students.json包含简单的一行{name:"Archana"}但是即使这样也失败了.
C:\data\db>mongo
2016-02-02T17:48:44.788+0530 I CONTROL [main] Hotfix KB2731284 or later update is installed, no need to zero-out data
MongoDB shell version: 3.2.1
connecting to: test
> show collections
names
students
> mondoimport -d test -c students students.json
2016-02-02T17:50:21.001+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students < students.json
2016-02-02T17:50:25.840+0530 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:15
> mondoimport -d test -c students < file students.json
2016-02-02T17:50:31.233+0530 E QUERY [thread1] SyntaxError: …
Run Code Online (Sandbox Code Playgroud) 我有DB的名称是"Project"和集合名称是"sample"然后我使用mongoimport
命令插入一个JSON文件.
现在我编辑了相同的JSON文件.因此,如果要将相同的JSON文件导入到Collection,那么我就会遇到问题,例如创建了多个实例并且没有进行更新.
有没有办法更新或覆盖mongodb使用mongoimport
命令中已存在的数据?
请注意,我也尝试过使用--mode=upsert
flag:
./mongoimport --db Project --collection sample --mode=upsert --file /home/rule.json
Run Code Online (Sandbox Code Playgroud) mongodb ×10
mongoimport ×10
json ×5
csv ×2
import ×2
arrays ×1
casbah ×1
database ×1
mongorestore ×1
windows ×1