복붙노트

[MONGODB] 몽고 스크립트 파일 쓰기 작업?

MONGODB

몽고 스크립트 파일 쓰기 작업?

몽고 JS 스크립트 파일에 쿼리 결과를 쓸이 가능하다. 나는 많이 검색 한,하지만 난 어떤 해결책을 찾지 못했습니다.

전의:-

cursor = db.users.find();

while(cursor.hasNext()) {
  cursor.next();
  // writing the cursor output to file ????<br/>
}

해결법

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

    1.당신은 인쇄 후 리디렉션 출력을 사용할 수 있습니다 :

    당신은 인쇄 후 리디렉션 출력을 사용할 수 있습니다 :

    script.js :

    cursor = db.users.find();
    while(cursor.hasNext()){
        printjson(cursor.next());
    }
    

    다음 파일에 스크립트 리디렉션 출력을 실행합니다 :

    mongo --quiet script.js > result.txt
    
  2. ==============================

    2.http://www.mongodb.org/display/DOCS/Scripting+the+shell 단락 "스크립트와 상호 작용 / 인쇄의 차이".

    http://www.mongodb.org/display/DOCS/Scripting+the+shell 단락 "스크립트와 상호 작용 / 인쇄의 차이".

    ./mongo server.com/mydb --quiet --eval "db.users.find().forEach(printjson);" > 1.txt
    
  3. ==============================

    3.당신은 대해 forEach ()를 사용하여 while 루프를 건너 뛸 수 있습니다 :

    당신은 대해 forEach ()를 사용하여 while 루프를 건너 뛸 수 있습니다 :

    db.users.find().forEach(printjson);
    
  4. ==============================

    4.나는 일반적으로 상기의 WriteFile (pathToFile, stringContents) 함수를 사용하여 로컬 파일에 몽고 쿼리의 결과를 작성해야 할 때마다.

    나는 일반적으로 상기의 WriteFile (pathToFile, stringContents) 함수를 사용하여 로컬 파일에 몽고 쿼리의 결과를 작성해야 할 때마다.

    예 :하자 신속 등록 된 모든 사용자의 메일을 찾아서 마케팅 부서에있는 당신의 친구 짐에 보낼 필요가 있다고 말한다.

    $ mongo mongodb://my-fancy-mongo-server --ssl -u fancy_username -p fancy_password 
    successfully connected to my-fancy-mongo-server!
    > emails = db.users.distinct('email_address')
    > writeFile("jims_email_list.json", tojson(emails))
    

    또는 짐이 예상되는 경우 것은 CSV 파일은 다음의

    $ mongo mongodb://my-fancy-mongo-server --ssl -u fancy_username -p fancy_password 
    successfully connected to my-fancy-mongo-server!
    > emails = db.users.distinct('email_address')
    > writeFile("jims_email_list.csv", emails.join("\n"))
    

    이제 짐에게 이메일의 목록을 전송하고 하루에 저장할 수 있습니다!

    의 WriteFile 함수에 대한 통지 중요한 것들 :

  5. ==============================

    5.이 같은 CSV와 같은 방법, 형식으로 사용할 수있는 파일 ((예 등 파이썬, 루비, 자바, 등) 범용 언어에 대한 몽고 드라이버 중 하나를 사용하고 결과를 작성하는 간단하지 않을까요, 기타.)?

    이 같은 CSV와 같은 방법, 형식으로 사용할 수있는 파일 ((예 등 파이썬, 루비, 자바, 등) 범용 언어에 대한 몽고 드라이버 중 하나를 사용하고 결과를 작성하는 간단하지 않을까요, 기타.)?

    UPDATE : 쿼리와 컬렉션을 내보낼 수 있습니다 mongodump에 대한 설명서에 따르면 :

    $ ./mongodump --db blog --collection posts
    -q '{"created_at" : { "$gte" : {"$date" : 1293868800000},
                          "$lt"  : {"$date" : 1296460800000}
                        }
        }'
    

    JSON 또는 CSV가 mongodump 같은 쿼리 플래그 (-q)를 사용하지만 당신은 MongoDB를로 수집 다시 수출에 또는 사용 mongoexport에서 작동하는 것을 수입해야합니다.

  6. ==============================

    6.별개 위해 당신은 내용 script.js 파일을 생성해야합니다 :

    별개 위해 당신은 내용 script.js 파일을 생성해야합니다 :

    mongo = new Mongo("localhost");
    doctor = mongo.getDB("doctor");
    users = doctor.getCollection("users");
    cities = users.distinct("address.city");
    printjson(cities);
    

    다음 콘솔에서 실행 :

    mongo --quiet script.js > result.txt
    
  7. from https://stackoverflow.com/questions/8971151/file-write-operations-in-mongo-script by cc-by-sa and MIT license