Поиск…
Вступление
MongoDB - бесплатная и открытая кросс-платформенная программа для документирования документов. В отличие от классических баз данных SQL, MongoDB использует BSON (например, JSON) для хранения данных. Meteor был разработан для использования MongoDB для хранения базы данных, и в этом разделе объясняется, как реализовать хранилище MongoDB в приложениях Meteor.
Экспорт удаленной базы данных Mongo DB, импорт в локальную базу данных Meteor Mongo DB
Полезно, когда вы хотите захватить копию производственной базы данных, чтобы поиграть с локально.
-
mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD
Это создаст локальную директориюdump
; внутри этого каталога вы увидите каталог с вашимDATABASE_NAME
. - С помощью локального приложения 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
.