programing

Meteor가 실행되는 동안 다른 클라이언트에서 Meteor의 MongoDB에 액세스하려면 어떻게 해야 합니까?

magicmemo 2023. 5. 6. 14:31
반응형

Meteor가 실행되는 동안 다른 클라이언트에서 Meteor의 MongoDB에 액세스하려면 어떻게 해야 합니까?

Meteor가 실행되는 동안 Python 클라이언트에서 Meteor의 MongoDB에 액세스하고 싶습니다.

Meteor의 데이터베이스가 잠겨 있어서 mongod를 시작할 수 없습니다.

다른 클라이언트에서 데이터베이스에 액세스하려면 어떻게 해야 합니까?

meteorcommand는 깨끗한 방법을 제공합니다.실행 중인 mongod의 URL을 가져오는 방법

meteor mongo -U

파이썬에서 구문 분석할 수 있습니다.

Meteor는 당신이 3002 포트를 실행할 때 당신을 위해 mongod를 시작합니다.meteor명령을 실행하고 mongo 데이터 파일을 저장합니다..meteor/local/db

출력지ps aux | grep 'mongod'유성에서 사용하는 mongod 명령을 보여줍니다.

/usr/local/meteor/mongodb/bin/mongod --bind_ip 127.0.0.1 --smallfiles --port 3002 --dbpath /path/to/your/project/.meteor/local/db

따라서 당신의 몽고 클라이언트를 그에 맞게 연결하면 됩니다.파이썬에서:

>>> import pymongo
>>> con = pymongo.Connection(host='127.0.0.1', port=3002)
>>> con.database_names()
[u'meteor', u'local']

업데이트: 유감스럽게도 이런 방식으로 mongo에서 직접 변경하면 앱에 실시간으로 반영되지 않지만 변경 사항은 전체 페이지 로드에 반영됩니다.

유성 전개 지침을 사용합니다.

명령은 다음과 같습니다.

   PORT=3000 MONGO_URL=mongodb://localhost:27017/myapp node bundle/main.js

또한 다음을 사용하여 서버 사이드 코드 내에서 찾을 수 있습니다.

process.env.MONGO_URL

실행 시 이 환경 변수를 설정하지 않더라도 기본값으로 설정됩니다.이렇게 내부적으로 검색됩니다(packages/mongo/remote_collection_driver.js).

하나는 다음과 같이 주어집니다.meteor mongo -U는 기본 도메인/ip 및 db-name을 재구성하는 것처럼 보이지만 파일에 저장된 포트를 사용합니다.

서버 폴더의 아무 곳에나 저장하고 명령줄에서 읽을 수 있습니다.

console.log('db url: ' + process.env.MONGO_URL);

저는 실시간 데이터를 덮어쓰지 않고 셀레늄 테스트에서 테스트 데이터베이스를 사용하고 있는지 다시 확인하기 위해 웹 페이지를 설정했습니다.

다음은 Mongo URI 및 Mongo Database를 가져오기 위한 셸 스크립트입니다.

#!/bin/bash -eux

read -s -p "Enter Password: " password

cmd=$(meteor mongo --url myapp.meteor.com << ENDPASS
$password
ENDPASS)
mongo_uri=$(echo $cmd | cut -f2 -d" ")
mongo_db=$(echo $mongo_uri | cut -d/ -f 4)

#my_client_command_with MONGODB_URI=$mongo_uri MONGO_DB=$mongo_db

````

업데이트가 10초 지연된 경우:MongoD 블로그를 추적합니다!자세한 내용은 여기를 참조하십시오.

http://meteorhacks.com/lets-scale-meteor.html

스마트 컬렉션을 설치하고 사용해야 합니다(Meteor를 사용하여 컬렉션을 인스턴스화).유성 대신 스마트 컬렉션입니다.수집)을 클릭하면 업데이트가 기본적으로 즉시 수행된다는 것을 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/10293781/how-do-i-access-meteors-mongodb-from-another-client-while-meteor-is-running

반응형