我是mongodb的新手.在Windows中安装mongodb后,我尝试使用以下命令插入一个简单的json文件:
C:\>mongodb\bin\mongoimport --db test --collection docs < example2.json
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
connected to: 127.0.0.1
Fri Oct 18 09:05:43.749 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:43
Fri Oct 18 09:05:43.750
Fri Oct 18 09:05:43.750 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.751 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:42
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.751 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.752 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:44
Fri Oct 18 09:05:43.752
Fri Oct 18 09:05:43.752 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.752
Fri Oct 18 09:05:43.752 check 0 0
Fri Oct 18 09:05:43.752 imported 0 objects
Fri Oct 18 09:05:43.752 ERROR: encountered 6 error(s)s
Run Code Online (Sandbox Code Playgroud)
{"FirstName": "Bruce", "LastName": "Wayne",
"Email": "bwayne@Wayneenterprises.com"}
{"FirstName": "Lucius", "LastName": "Fox",
"Email": "lfox@Wayneenterprises.com"}
{"FirstName": "Dick", "LastName": "Grayson",
"Email": "dgrayson@Wayneenterprises.com"}
Run Code Online (Sandbox Code Playgroud)
如何将新的json文件导入mongodb需要做什么?
Leo*_*eon 96
使用
mongoimport --jsonArray --db test --collection docs --file example2.json
Run Code Online (Sandbox Code Playgroud)
由于换行符,它可能搞乱了.
mit*_*esh 48
以下命令对我有用
mongoimport --db test --collection docs --file example2.json
Run Code Online (Sandbox Code Playgroud)
当我删除Email
每个文档中的属性之前的额外换行符.
{"FirstName": "Bruce", "LastName": "Wayne", "Email": "bwayne@Wayneenterprises.com"}
{"FirstName": "Lucius", "LastName": "Fox", "Email": "lfox@Wayneenterprises.com"}
{"FirstName": "Dick", "LastName": "Grayson", "Email": "dgrayson@Wayneenterprises.com"}
Run Code Online (Sandbox Code Playgroud)
nan*_*dad 26
这对我有用 - (来自mongo shell)
var file = cat('./new.json'); # file name
use testdb # db name
var o = JSON.parse(file); # convert string to JSON
db.forms.insert(o) # collection name
Run Code Online (Sandbox Code Playgroud)
Sum*_*boj 15
导入JSON文件时使用以下命令
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json
Run Code Online (Sandbox Code Playgroud)
小智 5
以下两种方式效果很好:
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs < example2.json
Run Code Online (Sandbox Code Playgroud)
如果集合属于特定用户,则可以使用 -u -p --authenticationDatabase
此解决方案适用于 Windows 机器。
MongoDB 需要数据目录来存储数据。默认路径是C:\data\db
. 如果您没有数据目录,请在C:驱动器中创建一个,除非使用不同的 VolumeName,例如H:(或任何其他相关的 VolumeName),它是您计算机的根目录;
放置 . 您要导入的jsonC:\data\db\
文件位于: .
C:\Program Files\MongoDB\Tools\100\bin
在运行命令之前,将 mongoimport.exe 从(mongoimport.exe 的默认路径)复制粘贴到C:\Program Files\MongoDB\Server\[your_server_version]\bin
从内部打开命令提示符,然后通过支持您想要导入的C:\data\db\
特定命令键入以下命令:databasName
collectionName
fileName.json
mongoimport --db databaseName --collection collectionName --file fileName.json --type json --batchSize 1
特此,