Ricerca…


introduzione

MongoDB è un programma di database orientato ai documenti multipiattaforma gratuito e open source. A differenza dei classici database SQL, MongoDB usa BSON (come JSON) per archiviare i dati. Meteor è stato progettato per utilizzare MongoDB per l'archiviazione del database e questo argomento spiega come implementare lo storage MongoDB nelle applicazioni Meteor.

Esporta un DB Mongo Remoto, Importa in un Local Mongo DB

Utile quando vuoi prendere una copia di un database di produzione per giocare con localmente.

  1. mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD Questo creerà una directory di dump locale; all'interno di quella directory vedrai una directory con il tuo DATABASE_NAME .
  2. Con la tua app mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME locale in esecuzione, dalla directory di dump , esegui: mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME

Ottieni l'URL Mongo del tuo Meteor Mongo DB locale

Mentre l'app Meteor è in esecuzione localmente:

meteor mongo --url

Collega la tua app Meteor locale a un Mongo DB alternativo

Imposta la variabile di ambiente MONGO_URL prima di avviare l'app Meteor locale.

Linux / MacOS Esempio:

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

o

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

Esempio di Windows

Nota: non usare "

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

Esecuzione di Meteor senza MongoDB

Imposta MONGO_URL su qualsiasi valore arbitrario ad eccezione di un URL del database e assicurati che non siano state definite collezioni nel progetto Meteor (incluse le raccolte definite dai pacchetti Meteor) per eseguire Meteor senza MongoDB.

Si noti che senza MongoDB, i metodi server / client insieme a tutti i pacchetti relativi al sistema di account utente di Meteor saranno indefiniti. Es: Meteor.userId()

Linux / Mac:

MONGO_URL="none" meteor

o

export MONGO_URL="none"
meteor

Finestre:

set MONGO_URL=none
meteor

Iniziare

Puoi avviare la shell mongo eseguendo il seguente comando all'interno del tuo progetto Meteor:

meteor mongo

Nota: l' avvio della console del database sul lato server funziona solo mentre Meteor esegue l'applicazione localmente.

Successivamente, puoi elencare tutte le collezioni eseguendo il seguente comando tramite la shell mongo :

show collections

Puoi anche eseguire operazioni di base di MongoDB, come interrogare, inserire, aggiornare e cancellare documenti.


Documenti di query

I documenti possono essere interrogati utilizzando il metodo find() , ad esempio:

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

Questo elencherà tutti i documenti che hanno l'attributo name impostato su Matthias Eckhart .

Inserimento di documenti

Se si desidera inserire documenti in una raccolta, eseguire:

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

Aggiornamento dei documenti

Se si desidera aggiornare i documenti, utilizzare il metodo update() , ad esempio:

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

L'esecuzione di questo comando aggiornerà un singolo documento impostando il valore John Doe per il name del campo (inizialmente il valore era Matthias Eckhart ).

Se si desidera aggiornare tutti i documenti che corrispondono a un criterio specifico, impostare il parametro multi su true , ad esempio:

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

Ora tutti i documenti nella raccolta che inizialmente avevano l'attributo name impostato su Matthias Eckhart sono stati aggiornati a John Doe .

Cancellare documenti

I documenti possono essere facilmente rimossi utilizzando il metodo remove() , ad esempio:

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

Questo rimuoverà tutti i documenti che corrispondono al valore specificato nel campo del name .



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow