수색…


소개

MongoDB는 무료 오픈 소스 크로스 플랫폼 문서 지향 데이터베이스 프로그램입니다. 고전 SQL 데이터베이스와 달리 MongoDB는 JSON과 같은 BSON을 사용하여 데이터를 저장합니다. Meteor는 데이터베이스 스토리지를 위해 MongoDB를 사용하도록 설계되었으며이 주제에서는 MongoDB 스토리지를 Meteor 어플리케이션에 구현하는 방법을 설명합니다.

원격 몽고 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. 로컬 유성 앱이 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 필드에 지정된 값과 일치하는 모든. 서가 제거됩니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow