CouchDB는 javascript를 사용하여 유효성을 검사하고, 쿼리하고, map-reduce를 수행합니다. 나는이 JavaScript 함수에 node.js
라이브러리를 사용할 수있는 방법이 있는지 알고 싶습니다. require('http')
또는 일부 제 3 자 모듈을 npm
과 함께 설치하여 사용하십시오.Node.js 라이브러리와 함께 CouchDB 사용
감사합니다.
CouchDB는 javascript를 사용하여 유효성을 검사하고, 쿼리하고, map-reduce를 수행합니다. 나는이 JavaScript 함수에 node.js
라이브러리를 사용할 수있는 방법이 있는지 알고 싶습니다. require('http')
또는 일부 제 3 자 모듈을 npm
과 함께 설치하여 사용하십시오.Node.js 라이브러리와 함께 CouchDB 사용
감사합니다.
아니요, CouchDb 내부의 노드 모듈에서 외부 JavaScript를 사용할 방법이 없습니다. 제한된 공유를 할 수 있습니다. http://wiki.apache.org/couchdb/HTTP_view_API#Sharing_Code_Between_Views
노드는 Javascript 언어 바인딩에 노출 된 플랫폼이므로 노드의 "장점"이 실행 환경에 있습니다.
파이썬을 사용하여 뷰를 작성하는 방법이 있지만 노드와 비슷한 점은 전혀 알지 못합니다.
http
과 같은 Node.js 관련 라이브러리가 필요하지 않는 한 Node.js 라이브러리를 사용할 수 있습니다. 예를 들어 async은 CouchDB에서 작동합니다. 엄지 손가락의 규칙 : 클라이언트가 및 인 서버를 사용하려는 경우 좋을 것입니다.
패턴 사이에 코드를 공유하려면 CommonJS의 module.exports
및 exports[something]
패턴을 사용할 수 있습니다. 자세한 내용은 the documentation을 확인하십시오.
예를 들어,이보기를 고려하십시오
{
_id:"_design/test",
views: {
lib: {
test: "exports.guests = 42;"
},
fish_per_person: {
map: function(doc){
var guests = require('views/lib/test').guests; // 42
emit(doc.number_of_fish, doc.number_of_fish/guests);
}
}
}
}
fish_per_person
보기 lib/test
에서 내 보낸 값 guests
이 필요합니다.
감사합니다. 그러나 나는이 도서관이 필요할 것이라고 생각한다. –
어떤 라이브러리가 있습니까? 무엇을 성취하려고합니까? 이것은 도전처럼 들리며 저는 매우 흥미 롭습니다. – garbados
지금 성취 할 구체적인 일은 없습니다. 그러나 나는 어떤 것을 상상할 수있다. 예를 들어, [온라인 판단 시스템] (http://en.wikipedia.org/wiki/Online_judge)에서 코드를 제출 한 후'child_process'를 사용하여 CouchDB에서 컴파일하고 실행해야합니다. 업데이트 처리기. –
CouchDB는 현재 Mozilla의 SpiderMonkey JS 엔진을 사용하여 실행하고 있음을 지적 할 가치가 있습니다. 그러나 CouchDB 메일 링리스트에서 CouchDB 내 NPM 모듈 사용을 허용하는 Node.js로이를 대체하는 것에 대해 논의되었습니다. (그러나 그것은 먼 길이다.) –
나는 [CouchJS] (https://github.com/iriscouch/couchjs)를 발견했다. –
재미있는 찾기. 프로덕션 용도로 사용 하시겠습니까? 아니, 나는 그것을 사용하지 않을 것이다. 또한 노드가 단일 스레드이므로 모든 것을 단일 경로로 깔끔하게 정리할 수 있습니다. – WiredPrairie