복붙노트

[MONGODB] 몽고없이 유성

MONGODB

몽고없이 유성

0.6.5 릴리스는 유성 비 웹 응용 프로그램을 개발하는 것이 가능하다. 나는 ARM 프로세서를위한 처음부터 다시하지만 난 전혀 DB를 지원하지 않습니다. (몽고는 프로세서 킬러 높은 풋 프린트를 가지고 있는데 단순히 필요하지 않습니다)

ARM 내가 몽고하지 않고 수동으로 구축 염두에두고 만 DDP 클라이언트로 작동합니다.

그리고 가능한 간단한 응용 프로그램을 구축하려 시작시에만 1 패키지 (모든 표준 패키지 제거)

meteor

서버 폴더에 하나 개의 파일

main = function(argv){
  return "DAEMON"
}

Meteor.setInterval(function(){
  console.log("HellOnWorld");
},1000);

전체 유성와 컴퓨터에서 예상대로 작동 설치 그러나 몽고없이 나는 오류를 가지고 설치된

Unexpected mongo exit code 127. Restarting.
Unexpected mongo exit code 127. Restarting.
Initializing mongo database... this may take a moment.
Unexpected mongo exit code 127. Restarting.
Can't start mongod

분명히 내가 가지고 몽고를 원하지 않는다.

MongoDB를 기다리지 않고 유성을 시작하는 방법은 없나요?

유성 팀의 계획을 다른 DB의가 조만간 구현해야하므로를 지원합니다.

해결법

  1. ==============================

    1.최신 정보

    최신 정보

    유성의 새 버전에는 몽고 패키지를 제거해야합니다. 몽고 패키지는 유성 플랫폼 패키지에 포함됩니다. 당신이를 제거하고 (https://github.com/meteor/meteor/tree/devel/packages/meteor-platform에서) 나머지는 모두 백을 추가해야합니다 그래서 :

    meteor remove meteor-platform
    meteor add  meteor webapp logging tracker session ddp blaze spacebars templating check underscore jquery random ejson templating check underscore jquery random ejson
    

    그런 다음 응용 프로그램 : 더 이상 몽고를 사용하지 않습니다.

    DEV 모드에서는 다른 뭔가에 MONGO_URL 환경 변수를 설정하고 유성을 시작으로 몽고를 제거 할 수 있습니다. 예를 들면 : MONGO_URL = MongoDB를 : // 갑자기 유성

  2. ==============================

    2.그냥 유성을 실행하기 전에 MONGO_URL 환경 변수를 설정하면, 그것은 로컬 MongoDB를 시작하지 않습니다 턴 아웃! 몽고에 의존하지 않는 패키지를 테스트하는 환상적인.

    그냥 유성을 실행하기 전에 MONGO_URL 환경 변수를 설정하면, 그것은 로컬 MongoDB를 시작하지 않습니다 턴 아웃! 몽고에 의존하지 않는 패키지를 테스트하는 환상적인.

    $ meteor test-packages ./
    Testing fortawesome:fontawesome-compat...
    [[[[[ Tests ]]]]]
    
    => Started proxy.
    => Started MongoDB.
    => Started your app.
    
    => App running at: http://localhost:3000/
    
    $ MONGO_URL=mongodb://mysql.com meteor test-packages ./  # haha
    Testing fortawesome:fontawesome-compat...
    [[[[[ Tests ]]]]]
    
    => Started proxy.
    => Started your app.
    
    => App running at: http://localhost:3000/
    

    봐 엄마, 아니 몽고!

    나는 더 몽고 프로세스가 시작되지 않은 것을 확인했으며, 더 .meteor / 지역 / DB 폴더가 만들어지지 않습니다.

  3. ==============================

    3.1) 번들 프로그램 / 서버 디렉토리로 이동하여 번들로 TingoDb을 추가 tingodb를 설치 NPM 않습니다.

    1) 번들 프로그램 / 서버 디렉토리로 이동하여 번들로 TingoDb을 추가 tingodb를 설치 NPM 않습니다.

    2) 다른 Npm.require 문을 모두와 함께 프로그램 / 서버 / 패키지 / 몽고 - livedata.js의 상단 근처, 다음 줄을 추가

    var Db = Npm.require('tingodb')().Db;
    

    3) 같은 파일에서 (프로그램 / 서버 / 패키지 / 몽고-livedata.js)는 다음 코드 블록을 교체

    MongoDB.connect(url, options, function(err, db) {
      if (err)
        throw err;
      self.db = db;
    
      Fiber(function () {
        // drain queue of pending callbacks
        _.each(self._connectCallbacks, function (c) {
          c(db);
        });
      }).run();
    });
    

    이 코드 :

    var db = new Db('path/to/your/db/directory', {});
    self.db = db;
    Fiber(function () {
      _.each(self._connectCallbacks, function (c) {
          c(db);
        });
    }).run(); 
    

    경로는 /에 / 당신의 / DB / 디렉토리 어디서나 할 수 있지만, 기본적으로 번들 프로그램 / 서버 디렉토리에 상대적입니다 수 있습니다.

    4) 당신이 MONGO_URL라는 환경 변수를 수출하고 싶어, 당신의 유성 번들을 실행합니다. 당신은 코드에 다이빙을하고 이에 대한 검사를 제거하지만, 사용하지 않을 이후 당신은 쉽게 번들의 README 파일에있는 것과 같이, 가짜의 MONGO_URL를 내보낼 수 있었다 :

    export MONGO_URL='mongodb://user:password@host:port/databasename'
    

    5) 번들의 기본 디렉토리 실행 노드 main.js.에서

    주의의 위험 부담 : 분명히 여기에 유성 내부와 장난하고,이 거의 확실하게 미래 버전으로 중단됩니다.

  4. ==============================

    4.유성 1.2.1 - 그냥 세트

    유성 1.2.1 - 그냥 세트

    MONGO_URL=none
    

    환경 변수. (없음 시작 몽고을 방지하기위한 키워드, 아무것도 잘못된 것 같습니다되지 않습니다)

  5. ==============================

    5.이상한 가능성으로 오른쪽 포트에서 모의 ​​몽고 서버를 확인하고 접근이에 environnmental 변수를 설정하십시오. 당신은 그 이후로 구현 될 몇 핸드 쉐이크 루틴없이 더 많은 트래픽을 필요 셨을 텐데요. 내 능력을 넘어,하지만 일이 교대로 코드 변경에 채택 할 필요가없는 장점을 가지고있다.

    이상한 가능성으로 오른쪽 포트에서 모의 ​​몽고 서버를 확인하고 접근이에 environnmental 변수를 설정하십시오. 당신은 그 이후로 구현 될 몇 핸드 쉐이크 루틴없이 더 많은 트래픽을 필요 셨을 텐데요. 내 능력을 넘어,하지만 일이 교대로 코드 변경에 채택 할 필요가없는 장점을 가지고있다.

  6. ==============================

    6.나열된 답변은 유성 1.x와 함께 작동하지 않습니다 다음은 MongoDB를하지 않고 유성을 실행하는 길이며, 유성 아무것도 (소스 코드 나 패키지 구성도)을 수정할 필요가 없습니다.

    나열된 답변은 유성 1.x와 함께 작동하지 않습니다 다음은 MongoDB를하지 않고 유성을 실행하는 길이며, 유성 아무것도 (소스 코드 나 패키지 구성도)을 수정할 필요가 없습니다.

    플레이어에게 포인트를 추가하고 몽고 명령 줄 확인 : 몽고 로컬 호스트 : 27027 / fakedb

  7. from https://stackoverflow.com/questions/18545905/meteor-without-mongo by cc-by-sa and MIT license