我是mongodb的新手。在Windows中安装mongodb后,我尝试使用以下命令插入一个简单的json文件:
C:\>mongodb\bin\mongoimport --db test --collection docs < example2.json
我收到以下错误:
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
{"FirstName": "Bruce", "LastName": "Wayne",
"Email": "bwayne@Wayneenterprises.com"}
{"FirstName": "Lucius", "LastName": "Fox",
"Email": "lfox@Wayneenterprises.com"}
{"FirstName": "Dick", "LastName": "Grayson",
"Email": "dgrayson@Wayneenterprises.com"}
将新的json文件导入mongodb需要做什么?
答案 0 :(得分:89)
使用
mongoimport --jsonArray --db test --collection docs --file example2.json
由于换行符,它可能搞乱了。
答案 1 :(得分:48)
下面的命令对我有用
mongoimport --db test --collection docs --file example2.json
当我删除每个文档中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"}
答案 2 :(得分:24)
这对我有用 - (来自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
答案 3 :(得分:15)
导入JSON文件时使用以下命令
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json
答案 4 :(得分:2)
mongoimport --jsonArray -d DatabaseN -c collectionName /filePath/filename.json
答案 5 :(得分:1)
以下两种方法可以正常工作:
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs < example2.json
如果这些收藏属于特定用户,则可以使用-u -p --authenticationDatabase
答案 6 :(得分:0)
在MS Windows中,mongoimport命令必须在正常的Windows命令提示符下运行,而不是在mongodb命令提示符下运行。
答案 7 :(得分:0)
答案 8 :(得分:0)
此解决方案适用于Windows计算机。
MongoDB需要数据目录来存储数据。默认路径为C:\data\db
。如果没有数据目录,请在C:驱动器中创建一个。 (P.S.:data\db表示目录“ data”中有一个名为“ db”的目录)
将要导入的json放在以下路径中:C:\data\db\
。
打开命令提示符并键入以下命令
mongoimport --db databaseName --collections collectionName --file fileName.json --type json --batchSize 1
在这里
答案 9 :(得分:0)
在MongoDB中使用mongo shell命令从文件(从系统/ pc的特定位置)插入Json数组数据。在执行以下命令时,命令应位于单行中。
var file = cat('I:/data/db/card_type_authorization.json'); var o = JSON.parse(file); db.CARD_TYPE_AUTHORIZATION.insert(o);
JSON文件:card_type_authorization.json
[
{
"_id": "124564789",
"xyz": [
{
"name": "x",
"value": "1"
},
{
"name": "y",
"value": "2"
}
],
"name": "LOL",
"user": {
"email": "LOL@LOL.com"
}
},
....
....
}]
答案 10 :(得分:0)
分别打开命令提示符 并检查:
C:\ mongodb \ bin \ mongoimport --db db_name --collection collection_name