2010-08-16 28 views
11

Tôi là một người mới bắt đầu với MongoDB và tôi đã một số câu hỏi sau:câu hỏi của một số người mới bắt đầu về MongoDB

  1. Khi tôi kết nối với Mongo, và tôi thực hiện show dbs tôi thấy 2 cơ sở dữ liệu: adminlocal. Vai trò của họ là gì? Sau đó, nếu tôi thực thi lệnh chèn như db.foo.insert({"value":"mongo"}), cơ sở dữ liệu test xuất hiện. Tại sao? Làm thế nào tôi có thể chỉ định một tên tùy chỉnh cho một cơ sở dữ liệu?

  2. Với show dbs Tôi lấy các cơ sở dữ liệu (bằng cách nào đó như show databases trong sql), làm cách nào tôi có thể liệt kê các bộ sưu tập bên trong cơ sở dữ liệu (tôi sẽ sử dụng show tables trong sql)?

  3. Khi thực thi lệnh, hướng dẫn MongoDB luôn sử dụng đối tượng db. Nó có phải là đối tượng chính (một loại đối tượng "kết nối") mà phải được sử dụng để thực thi các lệnh hay không?

Cảm ơn!

Trả lời

16
  1. adminlocal chứa các cài đặt khác nhau cục bộ cho máy chủ, như người dùng được xác thực để kết nối. Theo người mới bắt đầu sử dụng, bạn không cần phải lo lắng về họ cả. Theo mặc định, bạn kết nối với cơ sở dữ liệu có tên test. Để kết nối với cơ sở dữ liệu mới, chỉ cần use databasename từ dòng lệnh mongo hoặc mongo databasename từ vỏ hệ điều hành của bạn.
  2. use [database_name] và sau đó show collections
  3. Đối tượng db là xử lý gốc rễ của mình vào cơ sở dữ liệu hiện đang được lựa chọn trên dòng Mongo commmand. Dòng lệnh thực sự chỉ là một dòng lệnh Javascript, và có nhiều đối tượng và hàm cụ thể mongodb được hiển thị cho phép bạn thực hiện các công cụ. Hãy thử help() để có danh sách đầy đủ.
+0

Cảm ơn câu trả lời. Điều gì về cơ sở dữ liệu "kiểm tra", tại sao nó luôn xuất hiện như mặc định khi tạo bộ sưu tập mới? – Mark

+0

Mongo ngầm tạo cơ sở dữ liệu khi bạn chuyển sang chúng. Việc kích hoạt máy khách dòng lệnh mà không có đối số sẽ tự động sử dụng (và tạo ra, nếu nó chưa có) cơ sở dữ liệu 'test'. Bạn có thể tránh nó bằng cách luôn gọi mongo với một tham số (DB bạn muốn kết nối). –

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