복붙노트

[MONGODB] 몽고하는 수입 JSON 파일에 적절한 방법

MONGODB

몽고하는 수입 JSON 파일에 적절한 방법

나는 수입 일부 데이터와 몽고를 사용하려고했습니다,하지만 난 내 문서 설명과 함께 적절하게 사용할 수 아니에요.

이것은 내가 mongoimport를 사용하여 가져 오기 .json의 예입니다 https://gist.github.com/2917854

mongoimport -d test -c example data.json

내 모든 문서가 각 상점에 대한 개체 중 하나를 만들기에도 불구하고 고유 한 객체로 가져올 것 것으로 나타났습니다.

내가 조회 할 상점 또는 아무것도를 찾을 때, 모든 문서가 반환되는 이유입니다.

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

나는 유사한 점 표기법의 뭔가를 사용하여 ID로 제품을 얻기 위해 DB를 조회 할 수 있도록하려면 :

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

문제는 모든 문서를 하나의 개체처럼 가져온 것입니다. 문제는 어떻게 내가 원하는 결과를 얻기 위해 개체를 가져해야합니까?

해결법

  1. ==============================

    1.문서는 점에 유의 :

    문서는 점에 유의 :

    구조에서 당신은 당신이 필수적으로 가게 필드가 하나의 문서를 가져 오는 고정 된 요지에 오류가 있습니다 -assuming 사용하고 있습니다.

    별도의 가게 문서에 데이터를 파괴 한 후, 같은 수입 사용하여 뭔가 (상점 컬렉션 이름 인 예를 사용하는 것보다 더 의미가 있습니다)

    mongoimport -d test -c shops data.json
    

    다음처럼 조회 할 수 있습니다 :

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

    2.매개 변수 --jsonArray 있습니다 :

    매개 변수 --jsonArray 있습니다 :

    그리고} 말 : 당신은 단지까지 "상점"을 포함하여 초기에 외부 개체 구문 즉 모든 것을 제거 할 필요가 있으므로, 당신은 그것을 배열을 공급할 수이 옵션을 사용.

    나 자신은 내가 명령 줄에서 배열을 추출 할 수 JQ라는 작은 도구를 사용하여 :

    ./jq '.shops' shops.json
    
  3. ==============================

    3.JSON에서 가져 오기

    JSON에서 가져 오기

    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 가져 오기

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

    더 많은 정보

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

  4. ==============================

    4.명령 mongoimport은 우리가 특정 데이터베이스 및 컬렉션의 사람이 읽을 수있는 JSON을 가져올 수 있습니다. 특정 데이터베이스 및 모음에 JSON 데이터를 가져 입력 mongoimport -d databaseName을 -c collectionName 사용 jsonFileName.json

    명령 mongoimport은 우리가 특정 데이터베이스 및 컬렉션의 사람이 읽을 수있는 JSON을 가져올 수 있습니다. 특정 데이터베이스 및 모음에 JSON 데이터를 가져 입력 mongoimport -d databaseName을 -c collectionName 사용 jsonFileName.json

  5. from https://stackoverflow.com/questions/10999023/proper-way-to-import-json-file-to-mongo by cc-by-sa and MIT license