Mongo Shell - Bảng điều khiển / Nhật ký gỡ lỗi


147

Có lẽ là một câu hỏi ngớ ngẩn. Thử nghiệm với vỏ Mongo.

Tôi muốn làm một cái gì đó như:

matt@linuxvm:~/mongodb-linux-i686-1.2.3/bin$ ./mongo
MongoDB shell version: 1.2.3
url: test
connecting to: test
Thu Feb 25 20:57:47 connection accepted from 127.0.0.1:37987 #3
type "help" for help
> function test() { debug.log("hello") }
> test()
Thu Feb 25 20:58:06 JS Error: ReferenceError: debug is not defined (shell):0

Nói cách khác, làm thế nào tôi có thể xuất ra bàn điều khiển khi đánh giá các hàm JS từ bên trong vỏ Mongo. Tôi dự định một số kịch bản quản trị / dân cư mà tôi muốn xuất ra một số thông tin độc đáo.

Tôi đã thử console.log, debug.log, đăng nhập những thứ rõ ràng ..

Câu trả lời:


281

Tôi đã tìm thấy câu trả lời, nó chỉ đơn giản là print

print("sweetnesss");

93
printjson (điều) hữu ích hơn một chút khi tiếp xúc với đồ vật
RobKohr

2

Tôi thường sử dụng các tập lệnh khi tương tác với trình bao, vì vậy tôi đã viết một đối tượng Ghi nhật ký cơ bản mà tôi "tải (tập lệnh)" vào trình bao, sau đó sử dụng đối tượng Ghi nhật ký để gọi các mức ghi nhật ký (gỡ lỗi, thông tin, cảnh báo, lỗi). Đối tượng Logger sử dụng 'print' và 'printjson' ở lõi của nó. Ngoài ra, nó có chứa một sprintf cơ bản, phần đệm, định dạng bản ghi, v.v ... Nếu bạn sẽ thực hiện bất kỳ số lượng kịch bản đáng kể nào hoạt động với mongodb, tôi khuyên bạn nên sử dụng tuyến này. Gỡ lỗi các tập lệnh mongodb có cảm giác như được quay lại giới thiệu để lập trình và gỡ lỗi với các câu lệnh in. Ghi nhật ký cấu hình làm cho điều này tốt hơn một chút, nhưng tôi thực sự bỏ lỡ việc có thể bước qua mã.


+1 cho nhận xét về gỡ lỗi in, không thể đồng ý nhiều hơn. Bạn đang chia sẻ mã đăng nhập của mình trên GitHub hoặc ở đâu đó? Tôi đã xem xét việc đó một mình, nhưng tôi chưa có nhiều mã để chia sẻ. Tôi đã rẽ nhánh github.com/rsdoiel/mongo-modules nhưng chưa thêm bất cứ điều gì.
Đánh dấu Edington

Tôi sẽ cố gắng đào cái này lên.
gbegley

gbegley: Tuyệt vời, có vẻ như một cái gì đó sẽ hữu ích cho tôi. Đánh giá cao bạn dành thời gian để cung cấp điều này cho cộng đồng mongodb.
Đánh dấu Edington
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.