2013-03-23 23 views
5

Tự hỏi liệu có thể chạy mongodump/mongorestore từ bên trong nodejs hay không. Có lẽ không thực sự là một điều mongoose như đó không phải là thực sự những gì mongoose là cho. Nhưng tự hỏi nếu có một cách để thực hiện các lệnh này từ trình điều khiển mongodb nodejs.mongodump/mongorestore từ NodeJS hoặc mongoose

Hình như tôi có thể làm điều này như một phương sách cuối cùng: How do I execute the mongodump command programmatically from node.js?

+1

'Tuy nhiên, tôi nên đề cập đến bạn có thể thực hiện sao lưu và khôi phục dữ liệu mongodb mình khá dễ dàng với trình điều khiển node.js'. Tôi giả sử bạn có nghĩa là không có mongoback/maongorestore. Làm thế nào? Bạn có một ví dụ/liên kết nhanh? Cảm ơn. – lostintranslation

+0

Ồ, tôi hiểu những gì bạn đang nói. Cảm ơn đã giúp đỡ. – lostintranslation

Trả lời

6

Khi bạn nói 'from node.js' Tôi giả sử bạn có nghĩa là gọi lệnh mongodump/mongostore từ ứng dụng Node.js của bạn.

mongodumpmongostore là các ứng dụng dòng lệnh. Cách duy nhất bạn có thể "thực hiện chúng" từ node.js là sử dụng giải pháp mà bạn đã tìm thấy ở đây.

Tức là, sử dụng child_process.spawn vì chưa có ai tạo liên kết node.js cho chúng.

Tôi sẽ không sử dụng nó làm "phương sách cuối cùng" vì nó thực hiện chính xác những gì bạn cần. Tuy nhiên, tôi nên đề cập đến bạn có thể thực hiện sao lưu và khôi phục dữ liệu mongodb một cách dễ dàng với node.js driver. Tức là, lặp lại thông qua các bộ sưu tập và lưu trữ chúng, làm ngược lại để khôi phục sao lưu.

Tôi thực sự khuyên bạn nên chống lại nó. Vấn đề với cách tiếp cận được đề xuất trong câu hỏi mà bạn liên kết là tương đối nhỏ. Tôi đã nhìn thấy nó được sử dụng (tốt, một cái gì đó tương tự) trong sản xuất bản thân mình và không có vấn đề.

2

Tôi đã viết một mô-đun nhỏ này: https://github.com/meryn/mongo-utils. Nó phân tích chuỗi kết nối mongo cho bạn.

+0

+1 tốt đẹp! thử nó ngay bây giờ. –

+0

Đáng buồn thay, không có [hack] (https://groups.google.com/forum/#!msg/angular/wZQY1XmstKo/4Kny9Rf4XOQJ) e2e, tôi không thể chạy nó, vì e2e không chơi tốt với requirejs. –

Các vấn đề liên quan