2010-08-16 14 views
11

Jestem początkujący z MongoDB i mam kilka pytań:pytania Some początkujących o MongoDB

  1. Kiedy jestem podłączony do Mongo, a ja wykonać show dbs widzę 2 bazy danych: admin i local. Jaka jest ich rola? Następnie, jeśli wykonam polecenie wstawiania, takie jak db.foo.insert({"value":"mongo"}), pojawi się baza danych test. Czemu? Jak mogę określić niestandardową nazwę dla bazy danych?

  2. Z show dbs dostaję baz danych (jakoś jak show databases w SQL), w jaki sposób można następnie wymienić zbiory wewnątrz bazy danych (użyłbym show tables w SQL)?

  3. Podczas wykonywania polecenia samouczek MongoDB zawsze korzysta z obiektu db. Czy jest to główny obiekt (rodzaj obiektu "połączenia"), który musi zostać użyty do wykonywania poleceń, czy jest to coś innego?

Dzięki!

Odpowiedz

16
  1. admin i local zawierać różne ustawienia lokalne do serwera, jak użytkowników, którzy są uwierzytelnionych się połączyć. Przy początkowym użyciu nie powinieneś w ogóle się o nie martwić. Domyślnie łączysz się z bazą danych o nazwie test. Aby połączyć się z nową bazą danych, wystarczy use databasename z wiersza poleceń mongo lub mongo databasename ze swojej powłoki systemu operacyjnego.
  2. use [database_name] a następnie show collections
  3. Przedmiotem db to korzeń uchwyt do aktualnie wybranej bazy danych na linii Mongo commmand. Wiersz poleceń jest w rzeczywistości tylko linią komend Javascript i istnieją różne obiekty i funkcje specyficzne dla mongodb, które pozwalają ci robić rzeczy. Wypróbuj help(), aby uzyskać pełną listę.
+0

Dzięki za odpowiedź. Co z bazą "testową", dlaczego zawsze pojawia się jako domyślna podczas tworzenia nowych kolekcji? – Mark

+0

Mongo domyślnie tworzy bazy danych po przełączeniu się na nie. Uruchomienie klienta wiersza poleceń bez argumentu automatycznie używa (i tworzy, jeśli jeszcze tam nie ma) bazy danych 'test'. Możesz tego uniknąć, zawsze wywołując mongo z parametrem (DB, z którym chcesz się połączyć). –