Поиск…


Вступление

MongoDB - бесплатная и открытая кросс-платформенная программа для документирования документов. В отличие от классических баз данных SQL, MongoDB использует BSON (например, JSON) для хранения данных. Meteor был разработан для использования MongoDB для хранения базы данных, и в этом разделе объясняется, как реализовать хранилище MongoDB в приложениях Meteor.

Экспорт удаленной базы данных Mongo DB, импорт в локальную базу данных Meteor Mongo DB

Полезно, когда вы хотите захватить копию производственной базы данных, чтобы поиграть с локально.

  1. mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD Это создаст локальную директорию dump ; внутри этого каталога вы увидите каталог с вашим DATABASE_NAME .
  2. С помощью локального приложения meteor, изнутри каталога dump , запустите: mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME

Получите URL-адрес Mongo вашего локального метеора Mongo DB

Пока ваше приложение Meteor работает локально:

meteor mongo --url

Подключите локальное приложение Meteor к альтернативной базе данных Mongo DB

Установите MONGO_URL среды MONGO_URL перед запуском локального приложения Meteor.

Пример Linux / MacOS:

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

или же

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

Пример Windows

Примечание: не используйте "

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

Запуск Метеор без MongoDB

Установите MONGO_URL на любое произвольное значение, за исключением URL-адреса базы данных, и убедитесь, что в вашем проекте Meteor (включая коллекции, определенные пакетами Meteor) не определены коллекции, для запуска Meteor без MongoDB.

Обратите внимание, что без MongoDB методы сервер / клиент наряду с любыми пакетами, связанными с системой учетной записи пользователя Meteor, не будут определены. Пример: Meteor.userId()

Linux / Mac:

MONGO_URL="none" meteor

или же

export MONGO_URL="none"
meteor

Окна:

set MONGO_URL=none
meteor

Начиная

Вы можете запустить оболочку mongo , выполнив следующую команду внутри вашего проекта Meteor:

meteor mongo

Обратите внимание: запуск серверной консоли базы данных работает только тогда, когда Meteor запускает приложение локально.

После этого вы можете перечислить все коллекции, выполнив следующую команду через оболочку mongo :

show collections

Вы также можете запускать базовые операции MongoDB, такие как запрос, вставка, обновление и удаление документов.


Документы запроса

Документы можно запросить с помощью метода find() , например:

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

В нем будут перечислены все документы, для которых атрибут name установлен в Matthias Eckhart .

Вставка документов

Если вы хотите вставить документы в коллекцию, запустите:

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

Обновление документов

Если вы хотите обновлять документы, используйте метод update() , например:

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

Выполнение этой команды будет обновлять один документ, установив значение John Doe для поля name (изначально значение было Matthias Eckhart ).

Если вы хотите обновить все документы, соответствующие определенным критериям, установите для параметра multi значение true , например:

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

Теперь все документы в коллекции, которые первоначально атрибут name установленный в Matthias Eckhart , были обновлены до John Doe .

Удаление документов

Документы можно легко удалить с помощью метода remove() , например:

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

Это приведет к удалению всех документов, соответствующих значению, указанному в поле name .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow