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.
-
mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD
Questo creerà una directory didump
locale; all'interno di quella directory vedrai una directory con il tuoDATABASE_NAME
. - Con la tua app
mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME
locale in esecuzione, dalla directory didump
, 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
.