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
이 솔루션은 윈도우즈 시스템에 적용할 수 있습니다.
MongoDB는 데이터를 저장할 데이터 디렉토리가 필요합니다.기본 경로:
C:\data\db
데이터 디렉토리가 없는 경우는, 다른 VolumeName 를 사용하는 경우를 제외하고, C: 드라이브에 데이터 디렉토리를 작성합니다(예를 들면, 머신의 루트인 H:(또는 그 외의 관련의 VolumeName)).Import할 .json 파일을 다음 위치에 배치합니다.
C:\data\db\
.copy-paste mongoimport.exe 명령을 실행하기 전에
C:\Program Files\MongoDB\Tools\100\bin
(mongoimport.exe의 디폴트 패스)를 사용하여C:\Program Files\MongoDB\Server\[your_server_version]\bin
내부에서 명령 프롬프트를 엽니다.
C:\data\db\
다음 명령어를 입력합니다.databasName
,collectionName
그리고.fileName.json
Import:
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
'programing' 카테고리의 다른 글
JSON 데이터를 php에서html-data 속성으로 전달한 후 Javascript로 전달 (0) | 2023.02.13 |
---|---|
CSS 모듈의 리액트 서버 측 렌더링 (0) | 2023.02.13 |
입력 무선 요소를 반응 [material-ui]에서 수평으로 정렬하려면 어떻게 해야 합니까? (0) | 2023.02.13 |
숫자를 특정 범위로 제한할 수 있습니까? (0) | 2023.02.13 |
Selenium 유무에 관계없이 Protractor를 실행하는 차이점 (0) | 2023.02.13 |