Buscar..


Introducción

MongoDB es un programa de base de datos orientado a documentos multiplataforma de código abierto y gratuito. A diferencia de las bases de datos SQL clásicas, MongoDB usa BSON (como JSON) para almacenar datos. Meteor fue diseñado para usar MongoDB para el almacenamiento de la base de datos y este tema explica cómo implementar el almacenamiento de MongoDB en las aplicaciones Meteor.

Exportar una base de datos remota de Mongo, importar a una base de datos local de Meteor Mongo

Útil cuando desea obtener una copia de una base de datos de producción para jugar localmente.

  1. mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD Esto creará un directorio de dump local; dentro de ese directorio verá un directorio con su DATABASE_NAME .
  2. Con su aplicación meteorológica local ejecutándose, desde dentro del directorio de dump , ejecute: mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME

Obtenga la URL de Mongo de su local Meteor Mongo DB

Mientras tu aplicación Meteor se ejecuta localmente:

meteor mongo --url

Conecte su aplicación local de meteoros a una base de datos de Mongo alternativa

Establezca la variable de entorno MONGO_URL antes de iniciar su aplicación Meteor local.

Ejemplo de Linux / MacOS:

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

o

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

Ejemplo de Windows

Nota: no usar "

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

Ejecutando Meteor sin MongoDB

Establezca MONGO_URL en cualquier valor arbitrario a excepción de una URL de base de datos y asegúrese de que no haya colecciones definidas en su proyecto Meteor (incluidas las colecciones definidas por los paquetes Meteor) para ejecutar Meteor sin MongoDB.

Tenga en cuenta que sin MongoDB, los métodos de servidor / cliente junto con cualquier paquete relacionado con el sistema de cuentas de usuario de Meteor no estarán definidos. Ej: Meteor.userId()

Linux / Mac:

MONGO_URL="none" meteor

o

export MONGO_URL="none"
meteor

Windows:

set MONGO_URL=none
meteor

Empezando

Puede iniciar el shell mongo ejecutando el siguiente comando dentro de su proyecto Meteor:

meteor mongo

Tenga en cuenta que: el inicio de la consola de la base de datos del lado del servidor solo funciona mientras Meteor ejecuta la aplicación localmente.

Después de eso, puede enumerar todas las colecciones ejecutando el siguiente comando a través del shell mongo :

show collections

También puede ejecutar operaciones básicas de MongoDB, como consultar, insertar, actualizar y eliminar documentos.


Documentos de consulta

Los documentos se pueden consultar mediante el método find() , por ejemplo:

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

Esto mostrará una lista de todos los documentos que tienen el atributo de name establecido en Matthias Eckhart .

Insertando Documentos

Si desea insertar documentos en una colección, ejecute:

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

Actualizando Documentos

En caso de que desee actualizar documentos, use el método update() , por ejemplo:

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

La ejecución de este comando actualizará un solo documento estableciendo el valor John Doe para el name del campo (inicialmente el valor era Matthias Eckhart ).

Si desea actualizar todos los documentos que coinciden con un criterio específico, establezca el parámetro multi en true , por ejemplo:

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

Ahora, todos los documentos de la colección que tenían inicialmente el atributo de name establecido en Matthias Eckhart se han actualizado a John Doe .

Borrando documentos

Los documentos se pueden eliminar fácilmente mediante el método remove() , por ejemplo:

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

Esto eliminará todos los documentos que coincidan con el valor especificado en el campo de name .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow