Sök…
Introduktion
MongoDB är ett gratis och öppen källkodsorienterat dokumentorienterat databasprogram. Till skillnad från klassiska SQL-databaser använder MongoDB BSON (som JSON) för att lagra data. Meteor designades för att använda MongoDB för databaslagring och det här ämnet förklarar hur man implementerar MongoDB-lagring i Meteor-applikationer.
Exportera en fjärrmongo-DB, importera till en lokal meteor-mongo-DB
Hjälpsamt när du vill ta en kopia av en produktionsdatabas att leka med lokalt.
-
mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD
Detta skapar en lokaldump
; i den katalogen ser du en katalog med dinDATABASE_NAME
. - Med din lokala meteor app igång, inifrån
dump
katalogen, kör:mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME
Hämta Mongo-URL: n för din lokala Meteor Mongo DB
Medan din Meteor-app körs lokalt:
meteor mongo --url
Anslut din lokala Meteor-app till en alternativ Mongo-DB
Ställ in MONGO_URL
innan du startar din lokala Meteor-app.
Linux / MacOS Exempel:
MONGO_URL="mongodb://some-mongo-host.com:1234/mydatabase" meteor
eller
export MONGO_URL="mongodb://some-mongo-host.com:1234/mydatabase"
meteor
Windows-exempel
Obs: använd inte "
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
Kör Meteor utan MongoDB
Ställ MONGO_URL
på något godtyckligt värde förutom en databas-URL och se till att inga samlingar definieras i ditt Meteor-projekt (inklusive samlingar definierade av Meteor-paket) för att köra Meteor utan MongoDB.
Observera att utan MongoDB kommer server / klientmetoder vid sidan av alla paket som är relaterade till Meteors användarkontosystem undefineras. Ex: Meteor.userId()
Linux / Mac:
MONGO_URL="none" meteor
eller
export MONGO_URL="none"
meteor
Windows:
set MONGO_URL=none
meteor
Komma igång
Du kan starta mongo
genom att köra följande kommando i ditt Meteor-projekt:
meteor mongo
Observera: Starta databaskonsolen på serversidan fungerar bara när Meteor kör applikationen lokalt.
Efter det kan du lista alla samlingar genom att köra följande kommando via mongo
:
show collections
Du kan också köra grundläggande MongoDB-operationer, till exempel fråga, infoga, uppdatera och radera dokument.
Frågeställningar
Dokument kan ifrågasättas med metoden find()
, t.ex.:
db.collection.find({name: 'Matthias Eckhart'});
Detta kommer att lista alla dokument som har name
attribut inställd på Matthias Eckhart
.
Infoga dokument
Om du vill infoga dokument i en samling, kör:
db.collection.insert({name: 'Matthias Eckhart'});
Uppdatera dokument
Om du vill uppdatera dokument använder du metoden update()
, till exempel:
db.collection.update({name: 'Matthias Eckhart'}, {$set: {name: 'John Doe'}});
Utföra detta kommando kommer att uppdatera ett enda dokument genom att sätta värdet John Doe
för name
(initialt värde var Matthias Eckhart
).
Om du vill uppdatera alla dokument som matchar en särskilda kriterier, ställa in multi
parametrar till true
, till exempel:
db.collection.update({name: 'Matthias Eckhart'}, {$set: {name: 'John Doe'}}, {multi: true});
Nu, alla dokument i samlingen som hade initialt name
attribut inställd på Matthias Eckhart
har uppdaterats till John Doe
.
Ta bort dokument
Dokument kan enkelt tas remove()
metoden remove()
, till exempel:
db.collection.remove({name: 'Matthias Eckhart'});
Detta tar bort alla dokument som matchar det värde som anges i name
fältet.