programing

mongodb에 json 파일 삽입

lastcode 2023. 2. 13. 20:33
반응형

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

예 2. 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로 Import하려면 어떻게 해야 하나요?

사용하다

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

아마 줄바꿈 캐릭터들 때문에 엉망이 된 것 같아요.

아래 명령어는 나에게 효과가 있었다.

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

내가 전에 여분의 줄바꿈 문자를 제거했을 때Email각 문서의 속성을 지정합니다.

예 2. 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"}

(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

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

이 솔루션은 윈도우즈 시스템에 적용할 수 있습니다.

  1. MongoDB는 데이터를 저장할 데이터 디렉토리가 필요합니다.기본 경로:C:\data\db데이터 디렉토리가 없는 경우는, 다른 VolumeName 를 사용하는 경우를 제외하고, C: 드라이브에 데이터 디렉토리를 작성합니다(를 들면, 머신의 루트인 H:(또는외의 관련의 VolumeName)).

  2. Import할 .json 파일을 다음 위치에 배치합니다.C:\data\db\.

  3. copy-paste mongoimport.exe 명령을 실행하기 전에C:\Program Files\MongoDB\Tools\100\bin(mongoimport.exe의 디폴트 패스)를 사용하여C:\Program Files\MongoDB\Server\[your_server_version]\bin

  4. 내부에서 명령 프롬프트를 엽니다.C:\data\db\다음 명령어를 입력합니다.databasName,collectionName그리고.fileName.jsonImport:

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

이것으로

  • batch Size는 원하는 정수입니다.
mongoimport --jsonArray  -d DatabaseN -c collectionName /filePath/filename.json

명령 프롬프트를 개별적으로 열고 다음을 확인합니다.

C:\mongodb\bin\mongoimport --db db_name --collection collectionn_name < filename.json

MS Windows 에서는 mongoimport 명령어는 mongodb 명령어프롬프트가 아닌 일반 Windows 명령어프롬프트로 실행해야 합니다.

몇 주 전에 그런 일이 있었어요.mongo import 버전이 너무 오래되었습니다.최신 버전으로 업데이트하면 정상적으로 실행되어 모든 문서를 Import했습니다.

참고 자료: http://docs.mongodb.org/master/tutorial/install-mongodb-on-ubuntu/ ?_ga = 1 . 11365492 . 802 29687 . 1434379875

MongoDB에서 mongo shell 명령을 사용하여 파일(시스템/PC의 특정 위치)의 Json 배열 데이터를 삽입합니다.다음 명령어를 실행하는 동안 명령어는 한 줄로 입력해야 합니다.

var 파일 = cat('I:/data/db/card_type_authorization).json'), var = JSON.parse(파일), db.CARD_TYPE_AUTHORITION.insert(o);

JSON 파일: card_type_authorization.json

[{
"code": "visa",
"position": 1,
"description": "Visa",
"isVertualCard": false,
"comments": ""
},{
    "code": "mastercard",
    "position": 2,
    "description": "Mastercard",
    "isVertualCard": false,
    "comments": ""
}]

JS 및 노드에서 동작합니다.

전제 조건:

  • Node
  • - Mongo 경유Atlas

server.displays:

var MongoClient = require('mongodb').MongoClient;
var fs = require('fs')

export function insert(coll) {
  MongoClient.connect('uri', (err, db) => {
  var myobj = fs.readFileSync("shop.json").toString()
  myobj = JSON.parse(myobj)

  db.db(dbWeb).collection(coll).insertMany(myobj, (err, res) => {
    db.close();
  });
 });
}

shop.json:

[
{
    "doc": "jacke_bb",
    "link": "http://ebay.us/NDMJn9?cmpnId=5338273189",
},
{
    "doc": "schals",
    "link": "https://www.ebay-kleinanzeigen.de/s-anzeige/4-leichte-schals-fuer-den-sommer/2082511689-156-7597",
}

]

바와 json은 으로 시작합니다.[은 로끝 and끝 and and and and로 끝난다.]insertMany 됩니다.그러면 어레이가 컬렉션에 올바르게 삽입됩니다.

언급URL : https://stackoverflow.com/questions/19441228/insert-json-file-into-mongodb

반응형