2010-08-29 33 views
9

Im đọc hướng dẫn MongoDB, nhưng tôi không có được điều này:Kết nối với mongodb thông qua trình duyệt?

mongodb://fred:[email protected] 

Nó nói tôi có thể kết nối với MongoDB thông qua trình duyệt web.

Tôi đã thử cách này, nhưng nó không hoạt động. Safari/Firefox không thể nhận ra giao thức mongodb.

Và tại sao tôi nên làm điều đó?

Máy chủ mongodb không chỉ để kết nối thông qua dòng lệnh?

Và sự khác biệt giữa cổng 27017 và 28017 là gì?

Tôi có nên kết nối qua giao thức http hoặc mongodb không?

Trả lời

26

Khi bạn khởi động mongod (trình nền MongoDB), nó bắt đầu nghe trên hai cổng theo mặc định.

  1. : cổng mặc định được trình điều khiển MongoDB truy cập.
  2. : một cổng xử lý các yêu cầu HTTP và cung cấp một số giám sát chung.

Điều bạn đã liệt kê mongodb://fred:[email protected] thực sự đại diện cho điều này: mongodb://fred:[email protected]:27017 và đây là giao thức truy cập cho trình điều khiển MongoDB.

"điều" khác mà bạn đang thấy là cổng 28017. Đây là (theo mặc định) chỉ đơn giản là tổng quan về những gì đang xảy ra với phiên bản mongod trên máy chủ đó. Các yêu cầu được thực hiện từ trình duyệt web đến cổng này sẽ hiển thị đầu ra HTML của tổng quan về máy chủ.

Nếu bạn bắt đầu mongod với một số khác nhau cổng (tức là .: 7777), các "giám sát" cổng sẽ luôn luôn là 1000 cao hơn (tức là .: 8777).

Nếu bạn muốn một số tính năng nâng cao như khả năng truy vấn qua trình duyệt web, bạn có thể bắt đầu mongod bằng công tắc --rest. Sau đó, bạn sẽ có thể chạy một số truy vấn nhất định với một http đơn giản nhận được yêu cầu link text (http://localhost:8777/mydb/mycollection/?filter_a=1).

Nếu bạn đang sử dụng trình điều khiển MongoDB theo ngôn ngữ cụ thể (như hầu hết mọi người sẽ làm). Sau đó, bạn sẽ thấy rằng bạn sẽ có "chuỗi kết nối" của biểu mẫu mongodb://user:[email protected]:port/. Đây là những mục đích tương tự với các chuỗi kết nối thông thường bạn đang sử dụng cho các sản phẩm Cơ sở dữ liệu khác.

+0

có nên sử dụng trình điều khiển MongoDB dành riêng cho ngôn ngữ không? Tôi muốn phát triển một giao diện cho mongoDB trên một ngôn ngữ mới.Tôi có 2 lựa chọn: hoặc xây dựng trên một API hiện có như C hoặc C++, hoặc tạo từ đầu bằng cách sử dụng curl và máy chủ web? – RockScience

+1

Lưu ý rằng có cả hai trình điều khiển chính thức (http://docs.mongodb.org/ecosystem/drivers/) và các trình điều khiển không chính thức (http://docs.mongodb.org/ecosystem/drivers/community-supported-drivers/). Có một trình điều khiển MongoDB cho tất cả các ngôn ngữ chính trong 10 năm qua, vì vậy trừ khi bạn đang viết điều này trong COBOL hoặc APL, bạn nên được bảo hiểm. Và có nó được đề nghị bởi vì viết một trình điều khiển là rất nhiều công việc chi tiết với một cơ hội cao của thất bại. –

+1

@RockScience, tôi sẽ thêm một ngoại lệ cho "làm điều gì đó rất cụ thể". Nếu bạn chỉ cần một số tập con nhỏ của các tính năng MongoDB thì có thể bạn có thể tăng hiệu suất từ ​​các trình điều khiển "tự viết". Nhưng nếu đó là mục tiêu của bạn, bạn có thể có thể tăng hiệu suất bằng cách sử dụng một cái gì đó khác hơn MongoDB. –

2

Tăng thêm một nghìn (28017) và sử dụng HTTP, không phải là mongodb.

Lưu ý rằng điều này sẽ "kết nối" bạn với quá trình mongodb, nhưng không giống như phpMyAdmin hoặc bất kỳ thứ gì.

+0

Từ hướng dẫn "mongodb: // localhost, localhost: 27018, localhost: 27019". Tại sao họ sử dụng giao thức mongodb? –

+0

@ajsie: Không có ý tưởng, nhưng đối với giao diện web không chính xác. –

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