Szukaj…


Wprowadzenie

MongoDB to darmowy i otwarty na wiele platform program bazujący na orientacji dokumentów. W przeciwieństwie do klasycznych baz SQL, MongoDB używa BSON (jak JSON) do przechowywania danych. Meteor został zaprojektowany do używania MongoDB do przechowywania baz danych, a ten temat wyjaśnia, jak zaimplementować przechowywanie MongoDB w aplikacjach Meteor.

Eksportuj zdalną bazę danych Mongo, importuj do lokalnej bazy danych Meteor Mongo

Przydatne, gdy chcesz pobrać kopię produkcyjnej bazy danych, aby pobawić się lokalnie.

  1. mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD Spowoduje to utworzenie lokalnego katalogu dump ; w tym katalogu zobaczysz katalog ze swoją DATABASE_NAME .
  2. Przy uruchomionej lokalnej aplikacji Meteor z katalogu dump uruchom: mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME

Uzyskaj adres URL Mongo swojego lokalnego konta Meteor Mongo DB

Gdy aplikacja Meteor działa lokalnie:

meteor mongo --url

Połącz lokalną aplikację Meteor z alternatywną bazą danych Mongo

Ustaw MONGO_URL środowiskową MONGO_URL przed uruchomieniem lokalnej aplikacji Meteor.

Przykład Linux / MacOS:

MONGO_URL="mongodb://some-mongo-host.com:1234/mydatabase" meteor

lub

export MONGO_URL="mongodb://some-mongo-host.com:1234/mydatabase" 
meteor

Przykład systemu Windows

Uwaga: nie używaj "

set MONGO_URL=mongodb://some-mongo-host.com:1234/mydatabase
meteor

NPM

//package.json

"scripts": {
    "start": "MONGO_URL=mongodb://some-mongo-host.com:1234/mydatabase meteor"
}

$ npm start

Uruchamianie Meteora bez MongoDB

Ustaw MONGO_URL na dowolną wartość, z wyjątkiem adresu URL bazy danych i upewnij się, że żadne kolekcje nie są zdefiniowane w projekcie Meteor (w tym kolekcje zdefiniowane przez pakiety Meteor), aby uruchomić Meteor bez MongoDB.

Zauważ, że bez MongoDB, metody serwer / klient wraz z wszelkimi pakietami związanymi z systemem kont użytkowników Meteor nie będą zdefiniowane. Przykład: Meteor.userId()

Linux / Mac:

MONGO_URL="none" meteor

lub

export MONGO_URL="none"
meteor

Windows:

set MONGO_URL=none
meteor

Pierwsze kroki

Możesz uruchomić powłokę mongo , uruchamiając następujące polecenie w projekcie Meteor:

meteor mongo

Uwaga: Uruchomienie konsoli bazy danych po stronie serwera działa tylko wtedy, gdy Meteor uruchamia aplikację lokalnie.

Następnie możesz wyświetlić listę wszystkich kolekcji, wykonując następujące polecenie za pomocą powłoki mongo :

show collections

Możesz także uruchamiać podstawowe operacje MongoDB, takie jak wyszukiwanie, wstawianie, aktualizowanie i usuwanie dokumentów.


Dokumenty zapytania

Dokumenty można wyszukiwać za pomocą metody find() , np .:

db.collection.find({name: 'Matthias Eckhart'});

Spowoduje to wyświetlenie wszystkich dokumentów, dla których atrybut name ustawiony na Matthias Eckhart .

Wstawianie dokumentów

Jeśli chcesz wstawić dokumenty do kolekcji, uruchom:

db.collection.insert({name: 'Matthias Eckhart'});

Aktualizowanie dokumentów

Jeśli chcesz zaktualizować dokumenty, użyj metody update() , na przykład:

db.collection.update({name: 'Matthias Eckhart'}, {$set: {name: 'John Doe'}});

Wykonanie tego polecenia spowoduje zaktualizowanie pojedynczego dokumentu poprzez ustawienie wartości John Doe dla name pola (początkowo była to Matthias Eckhart ).

Jeśli chcesz zaktualizować wszystkie dokumenty spełniające określone kryteria, ustaw parametr multi na true , na przykład:

db.collection.update({name: 'Matthias Eckhart'}, {$set: {name: 'John Doe'}}, {multi: true});

Teraz wszystkie dokumenty w kolekcji, które początkowo miały ustawiony atrybut name Matthias Eckhart , zostały zaktualizowane do wersji John Doe .

Usuwanie dokumentów

Dokumenty można łatwo usunąć za pomocą metody remove() , na przykład:

db.collection.remove({name: 'Matthias Eckhart'});

Spowoduje to usunięcie wszystkich dokumentów, które pasują do wartości określonej w polu name .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow