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.

  1. mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD Detta skapar en lokal dump ; i den katalogen ser du en katalog med din DATABASE_NAME .
  2. 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.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow