source

json 파일을 mongo로 Import하는 올바른 방법

manycodes 2023. 3. 22. 21:42
반응형

json 파일을 mongo로 Import하는 올바른 방법

데이터를 Import하여 mongo를 사용하려고 했는데, 문서 설명으로는 제대로 사용할 수 없습니다.

다음은 mongoimport를 사용하여 Import하는 .json의 예입니다.https://gist.github.com/2917854

mongoimport -d test -c example data.json

각 상점마다 오브젝트를 하나씩 작성했는데도 모든 문서가 하나의 오브젝트로 Import되어 있는 것을 알 수 있었습니다.

그래서 가게나 문의하고 싶은 것을 찾으면 모든 서류가 반환되는 것입니다.

db.example.find({"shops.name":"x"})

다음과 같은 도트 표기를 사용하여 ID로 db에 문의하여 제품을 취득할 수 있도록 하고 싶습니다.

db.example.find({"shops.name":"x","categories.type":"shirts","clothes.id":"1"}

문제는 모든 문서가 단일 개체처럼 Import된다는 것입니다.문제는 다음과 같습니다.어떻게.
원하는 결과를 얻으려면 개체를 가져와야 합니까?

문서 주의사항:

이 유틸리티는 한 줄에 1개의 JSON/CSV/TSV 문자열이 포함된 단일 파일을 가져와 삽입합니다.

사용 중인 구조에서 (요지 상의 오류가 수정되었다고 가정하면) 기본적으로 다음 항목만 포함하는 하나의 문서를 가져옵니다.shops들판.

데이터를 별도의 숍 문서로 분할한 후 다음과 같은 것을 사용하여 Import합니다(shops가 컬렉션 이름인 경우 를 사용하는 것보다 더 적합합니다).example):

mongoimport -d test -c shops data.json

그런 다음 다음과 같이 쿼리할 수 있습니다.

db.shops.find({"name":x,"categories.type":"shirts"})

파라미터가 있습니다.--jsonArray:

단일 JSON 어레이 내에서 여러 MongoDB 문서로 표현된 데이터 Import 허용

이 옵션을 사용하면 어레이에 급지할 수 있습니다.따라서 외부 오브젝트 구문(즉, 첫 번째에 있는 모든 것)을 삭제할 필요가 있습니다."shops" :, 및}마지막에.

저는 jq라는 작은 도구를 사용하여 명령줄에서 어레이를 추출할 수 있습니다.

./jq '.shops' shops.json

JSON에서 Import

mongoimport --db "databaseName" --collection "collectionName" --type json --file "fileName.json" --jsonArray

JSON 형식은 이 형식이어야 합니다.(개체 배열)

[
    { name: "Name1", msg: "This is msg 1" },
    { name: "Name2", msg: "This is msg 2" },
    { name: "Name3", msg: "This is msg 3" }
]

CSV로부터의 Import

mongoimport --db "databaseName" --collection "collectionName" --type csv --file "fileName.csv" --headerline

상세 정보

https://docs.mongodb.com/getting-started/shell/import-data/

JSON Import

명령어mongoimport사람이 읽을 수 있는 것을 가져올 수 있습니다.JSON특정 데이터베이스 및 컬렉션에 저장되어 있습니다.Import 하려면JSON특정 데이터베이스 및 컬렉션의 데이터, 유형mongoimport -d databaseName -c collectionName jsonFileName.json

언급URL : https://stackoverflow.com/questions/10999023/proper-way-to-import-json-file-to-mongo

반응형