[mongodb] mongodb에 json 파일 삽입

저는 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

example2.json

{"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로 가져 오려면 어떻게해야합니까?



답변

사용하다

mongoimport --jsonArray --db test --collection docs --file example2.json

개행 문자 때문에 아마도 엉망이 될 것입니다.


답변

아래 명령이 나를 위해 일했습니다.

mongoimport --db test --collection docs --file example2.json

전에 여분의 개행 문자를 제거했을 때 Email각 문서에서 속성 .

example2.json

{"FirstName": "Bruce", "LastName": "Wayne", "Email": "bwayne@Wayneenterprises.com"}
{"FirstName": "Lucius", "LastName": "Fox", "Email": "lfox@Wayneenterprises.com"}
{"FirstName": "Dick", "LastName": "Grayson", "Email": "dgrayson@Wayneenterprises.com"}


답변

이것은 나를 위해 일했습니다-(몽고 쉘에서)

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


답변

JSON 파일을 가져 오는 동안 아래 명령 사용

C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json


답변

다음 두 가지 방법이 잘 작동합니다.

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


답변

mongoimport --jsonArray  -d DatabaseN -c collectionName /filePath/filename.json


답변

이 솔루션은 Windows 시스템에 적용됩니다.

  1. MongoDB는 데이터를 저장할 데이터 디렉토리가 필요합니다. 기본 경로는 C:\data\db입니다. 데이터 디렉터리가없는 경우 C : 드라이브에 만듭니다. (PS : data \ db는 ‘data’디렉터리 내에 ‘db’라는 디렉터리가 있음을 의미합니다.)

  2. 가져올 json을 다음 경로에 배치하십시오 C:\data\db\..

  3. 명령 프롬프트를 열고 다음 명령을 입력하십시오.

    mongoimport --db databaseName --collections collectionName --file fileName.json --type json --batchSize 1

여기,

  • databaseName : 데이터베이스 이름
  • collectionName : 컬렉션 이름
  • fileName : C : \ data \ db 경로에있는 json 파일의 이름
  • batchSize는 원하는대로 정수가 될 수 있습니다.