Zoeken…


Invoering

MongoDB is een gratis en open-source cross-platform documentoriënteer databaseprogramma. In tegenstelling tot klassieke SQL-databases, gebruikt MongoDB BSON (zoals JSON) om gegevens op te slaan. Meteor is ontworpen om MongoDB te gebruiken voor databaseopslag en in dit onderwerp wordt uitgelegd hoe MongoDB-opslag in Meteor-toepassingen kan worden geïmplementeerd.

Exporteer een Remote Mongo DB, importeer deze in een lokale Meteor Mongo DB

Handig wanneer u een kopie van een productiedatabase wilt pakken om lokaal mee te spelen.

  1. mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD Dit is een lokale zal leiden dump directory; in die map ziet u een map met uw DATABASE_NAME .
  2. Terwijl je lokale meteor-app actief is, voer je vanuit de dump directory uit: mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME

Download de Mongo-URL van uw lokale Meteor Mongo DB

Terwijl uw Meteor-app lokaal wordt uitgevoerd:

meteor mongo --url

Verbind uw lokale Meteor-app met een alternatieve Mongo-DB

Stel de omgevingsvariabele MONGO_URL voordat u uw lokale Meteor-app start.

Linux / MacOS-voorbeeld:

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

of

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

Windows-voorbeeld

Opmerking: gebruik niet "

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

Meteor uitvoeren zonder MongoDB

Stel MONGO_URL op elke willekeurige waarde behalve een database-URL en zorg ervoor dat er geen collecties zijn gedefinieerd in uw Meteor-project (inclusief collecties gedefinieerd door Meteor-pakketten) om Meteor zonder MongoDB uit te voeren.

Merk op dat zonder MongoDB, server / client-methoden naast pakketten die verband houden met het gebruikersaccountsysteem van Meteor, niet zullen worden gedefinieerd. Bijvoorbeeld: Meteor.userId()

Linux / Mac:

MONGO_URL="none" meteor

of

export MONGO_URL="none"
meteor

Ramen:

set MONGO_URL=none
meteor

Ermee beginnen

U kunt de mongo starten door de volgende opdracht in uw Meteor-project uit te voeren:

meteor mongo

Let op: het starten van de server-side databaseconsole werkt alleen terwijl Meteor de applicatie lokaal uitvoert.

Hierna kun je alle collecties weergeven door de volgende opdracht uit te voeren via de mongo shell:

show collections

U kunt ook standaard MongoDB-bewerkingen uitvoeren, zoals documenten opvragen, invoegen, bijwerken en verwijderen.


Vraag documenten

Documenten kunnen worden opgevraagd met de methode find() , bijvoorbeeld:

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

Hierdoor worden alle documenten die de lijst hebben name attribuut set aan Matthias Eckhart .

Documenten invoegen

Als u documenten in een verzameling wilt invoegen, voert u het volgende uit:

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

Documenten bijwerken

Als u documenten wilt bijwerken, gebruikt u de methode update() , bijvoorbeeld:

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

Het uitvoeren van deze opdracht zal een enkel document bij te werken door de waarde John Doe voor het veld name (in eerste instantie de waarde was Matthias Eckhart ).

Als u alle documenten wilt bijwerken die aan een specifiek criterium voldoen, stelt u de parameter multi op true , bijvoorbeeld:

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

Nu, alle documenten in de collectie die in eerste instantie het had name attribuut set naar Matthias Eckhart zijn bijgewerkt om John Doe .

Documenten verwijderen

Documenten kunnen eenvoudig worden verwijderd met de methode remove() , bijvoorbeeld:

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

Hierdoor worden alle documenten die aan de opgegeven in de waarde te verwijderen name veld.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow