수색…
소개
MongoDB는 무료 오픈 소스 크로스 플랫폼 문서 지향 데이터베이스 프로그램입니다. 고전 SQL 데이터베이스와 달리 MongoDB는 JSON과 같은 BSON을 사용하여 데이터를 저장합니다. Meteor는 데이터베이스 스토리지를 위해 MongoDB를 사용하도록 설계되었으며이 주제에서는 MongoDB 스토리지를 Meteor 어플리케이션에 구현하는 방법을 설명합니다.
원격 몽고 DB 수출, 지역 Meteor Mongo DB로 가져 오기
프로덕션 데이터베이스의 복사본을 로컬에서 재생하려고 할 때 유용합니다.
-
mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORD
그러면 로컬dump
디렉토리가 작성됩니다. 해당 디렉토리 내에서DATABASE_NAME
있는 디렉토리가 표시됩니다. - 로컬 유성 앱이
dump
디렉토리에서 실행되면 다음을 실행하십시오.mongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME
지역 유골 DB의 몽고 URL보기
Meteor 앱이 로컬에서 실행되는 동안 :
meteor mongo --url
대체 Mongo DB에 로컬 Meteor 앱 연결
로컬 Meteor 앱을 시작하기 전에 MONGO_URL
환경 변수를 설정하십시오.
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없이 유성 실행하기
데이터베이스 URL을 제외하고 MONGO_URL
을 임의의 값으로 설정하고 MongoDB없이 Meteor를 실행하기 위해 Meteor 프로젝트 (Meteor 패키지가 정의한 콜렉션 포함)에 콜렉션이 정의되지 않도록하십시오.
MongoDB가 없으면 Meteor의 사용자 계정 시스템과 관련된 패키지와 함께 서버 / 클라이언트 메소드가 정의되지 않습니다. 예 : Meteor.userId()
Linux / Mac :
MONGO_URL="none" meteor
또는
export MONGO_URL="none"
meteor
Windows :
set MONGO_URL=none
meteor
시작하기
Meteor 프로젝트 내에서 다음 명령을 실행하여 mongo
쉘을 시작할 수 있습니다.
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'}});
이 명령을 실행하면 필드 name
John Doe
값을 설정하여 단일 문서를 업데이트합니다 (초기 값은 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
필드에 지정된 값과 일치하는 모든. 서가 제거됩니다.