IT

robomongo를 사용하여 Mongodb에서 json을 사용하는 방법

lottoking 2020. 8. 30. 09:04
반응형

robomongo를 사용하여 Mongodb에서 json을 사용하는 방법


그래서 나는에 대해 많이 모른다 MongoDB. 나는 한 RoboMongo나는 MongoDB를 연결하는 사용. 내가해야 할 일은 이것입니다. MongoDB에 컬렉션이 있습니다. 해당 컬렉션에서 데이터를 제공합니다.

인터페이스를 사용하여 컬렉션의 데이터를 텍스트로 CTRL + A수행하고 텍스트 파일에 넣었습니다. 그러나 모든 데이터가 복사되는 것은 사실상 JSON을 깨뜨리는 텍스트 데이터에 많은 주석이 있다는 것을 발견했습니다.

RoboMongo Export As JSON에 수출을 할 수 있는 시설 이 있는지 궁금합니다 .

모든 조언을 부탁드립니다!


MongoDB 셸 펼쳐보기tojson 에서 각 레코드를 JSON으로 변환 하는 사용할 수 있습니다 .

RoboMongo 에서이 펼쳐집니다.

var cursor = db.getCollection('foo').find({}, {});
while(cursor.hasNext()) {
    print(tojson(cursor.next()))
}

이렇게하면 모든 결과가 JSON과 배열로 인쇄됩니다.

결과는 실제로 JSON이 아닙니다! 날짜 및 개체 ID와 같은 일부 유형은 JavaScript 함수 호출로 인쇄됩니다 (예 : ISODate("2016-03-03T12:15:49.996Z").

큰 결과 집합의 경우, 제한 할 수 없습니다. 또는 .mongoexport


Robomongo의 셸 기능이 문제를 해결합니다. 제 경우에는 CSV 형식으로 몇 개의 열이 필요했습니다.

var cursor = db.getCollection('Member_details').find({Category: 'CUST'},{CustomerId :1,Name :1,_id:0})

while (cursor.hasNext()) {
    var record = cursor.next();   
    print(record.CustomerID + "," + record.Name)
}

Output : -------

334, Harison
433, Rechard
453, Michel
533, Pal

빠르고 더러운 방법 : 쿼리를 다음 db.getCollection('collection').find({}).toArray()같이 작성하고 마우스 오른쪽 버튼으로 클릭하십시오 Copy JSON. 원하는 편집기에 데이터를 넣습니다.

여기에 이미지 설명 입력


MongoDB GUI가 몇 개이고, 그중 일부는 데이터 내보내기를 기본적으로 지원합니다. http://mongodb-tools.com 에서 MongoDB GUI를 사용할 수 있습니다 .

전체 컬렉션 내보내기가 아니라 쿼리 결과 내보내기에 대해 질문했습니다. 부여 3T MongoChef MongoDB를 GUI를 시도,이 도구는 특정 사용 케이스에 대한 지원을하고있다.


스프레드 시트 에서처럼 "파일로 내보내기"라고 말합니까? .csv를 좋아하십니까?

IMO는 Robo 3T (이전의 robomongo)에서이를 수행하는 가장 쉬운 방법입니다.

  1. Robo 3T GUI의 오른쪽 상단에 "텍스트 모드에서 결과보기"버튼이 있습니다.이 버튼을 클릭하고 모든 항목을 복사합니다.

  2. 이 웹 사이트에 모든 것을 붙여 넣으십시오 : https://json-csv.com/

  3. 다운로드 버튼을 클릭하면 이제 스프레드 시트에 있습니다.

Robo 3T에 수출 기능이 있기를 바랍니다.


셸에서이 명령을 실행하지 말고 데이터베이스 이름, 컬렉션 이름 및 파일 이름을 사용하여 명령 프롬프트에이 스크립트를 입력하십시오. 모두 자리 표시자를 대체합니다.

mongoexport --db (Database name) --collection (Collection Name) --out (File name).json

그것은 나를 위해 작동합니다.


로보 몬고에는 그런 기능이 없다고 생각합니다. 따라서 특정 컬렉션에 대한 mongoexport로 mongodb 함수를 사용하는 것이 좋습니다.

http://docs.mongodb.org/manual/reference/program/mongoexport/#export-in-json-format

그러나 백업 솔루션을 찾고 있다면 사용하는 것이 좋습니다

mongodump / mongorestore

Anish의 답변을 확장하면서, 모든 필드를 자동으로 출력하기 위해 모든 쿼리에 적용 할 수있는 기능을 원했습니다. 아마도 단순화 될 수 있지만 이것은 훌륭하게 작동하는 빠르고 더러운 것입니다.

var cursor = db.getCollection('foo').find({}, {bar: 1, baz: 1, created_at: 1, updated_at: 1}).sort({created_at: -1, updated_at: -1});

while (cursor.hasNext()) {
    var record = cursor.next();
    var output = "";
    for (var i in record) {
      output += record[i] + ",";
    };
    output = output.substring(0, output.length - 1);
    print(output);
}

mongoimport 를 사용하려면 다음 과 같이 내 보내야 합니다.

db.getCollection('tables')
  .find({_id: 'q3hrnnoKu2mnCL7kE'})
  .forEach(function(x){printjsononeline(x)});

robomongo 셸 스크립트 사용 :

//on the same db
var cursor = db.collectionname.find();

while (cursor.hasNext()) {
    var record = cursor.next();   
    db.new_collectionname.save(record);
}

mongodb의 내보내기 및 가져 오기 명령 사용

명령에 --jsonArray매개 변수 / 플래그를 추가하면 mongoexport결과가 단일 json 배열로 내보내집니다.

그런 다음 --jsonArray가져올 때 플래그를 다시 지정하십시오 .

또는 파일에서 시작 및 끝 배열 대괄호 []를 제거하면 수정 및 내 보낸 파일이 플래그 mongoimport없이 명령으로 가져옵니다 --jsonArray.

내보내기에 대한 자세한 내용 : https://docs.mongodb.org/manual/reference/program/mongoexport/#cmdoption--jsonArray

여기에서 가져 오기 : https://docs.mongodb.org/manual/reference/program/mongoimport/#cmdoption--jsonArray


나는 이와 동일한 문제가 있었고 robomongo (Robo 3T 1.1.1)에서 스크립트를 실행해도 값 복사가 허용되지 않으며 내보내기 옵션도 없었습니다. 이것을 달성 할 수있는 가장 좋은 방법은 mongoexport를 사용하는 것입니다. mongodb가 로컬에 설치되어 있으면 mongoexport를 사용하여 모든 서버의 데이터베이스에 연결하고 데이터를 추출 할 수 있습니다.

원격 서버의 데이터 및 csv 출력 파일에 연결하려면 명령 줄에서 다음 mongoexport를 실행합니다.

mongoexport --host HOSTNAME --port PORT --username USERNAME --password "PASSWORD" --collection COLLECTION_NAME --db DATABASE_NAME --out OUTPUTFILE.csv --type=csv --fieldFile fields.txt

fieldFile : 원하는 열을 추출하는 데 도움이됩니다. 예 : fields.txt의 내용은 다음과 같을 수 있습니다.

userId

'userId'열의 값만 추출합니다.

원격 서버의 데이터, json 출력 파일 :

mongoexport --host HOST_NAME --port PORT --username USERNAME --password "PASSWORD" --collection COLECTION_NAME --db DATABASE_NAME --out OUTPUT.json

이것은 모든 필드를 json 파일로 추출합니다.

localhost의 데이터 (mongodb는 localhost에서 실행되어야 함)

mongoexport --db DATABASE_NAME --collection COLLECTION --out OUTPUT.json

참조 : https://docs.mongodb.com/manual/reference/program/mongoexport/#use


해결책:

mongoexport --db test --collection traffic --out traffic.json<br><br>

여기에 이미지 설명 입력

어디에 :
데이터베이스-> 모의 서버
컬렉션 이름-> api_defs
출력 파일 이름-> childChoreRequest.json


  1. 당신의 검색을
  2. JSON 모드의 푸시 버튼보기 결과
  3. 결과를 단어로 복사
  4. 단어에서 결과를 인쇄

참고 URL : https://stackoverflow.com/questions/28733692/how-to-export-json-from-mongodb-using-robomongo

반응형