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.
-
mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD
Dit is een lokale zal leidendump
directory; in die map ziet u een map met uwDATABASE_NAME
. - 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.