나는 arangodb가 현재 최상의 nosql db이고 foxx 마이크로 서비스가 훌륭한 자원이라고 생각한다. 아아아, 3.xxx 버전과 함께 제공되는 관련 문서는 최소한의 서비스 만 빌드하는 데 도움이 될 수 있습니다. 또한 arangodb 저장소에서 예제로 사용할 수있는 많은 응용 프로그램이 사용되지 않는 도구 (예 : 컨트롤러, 저장소)로 개발되었습니다. 웹 인터페이스에서 사용할 수있는 마법사를 사용하면 새 서비스를 쉽게 만들 수 있지만 마운트 지점이 앞에 붙은 새 모음을 만들어야하는 이유를 알 수 없습니다. 따라서 완전한 REST API는 훌륭한 문서로 생성되지만, 이미 존재하는 컬렉션의 이름을 변경하지 않는 한 절대적으로 쓸모가 없습니다. 왜 그게 ???arangodb 3.1 foxx docs?
답변
발전기는 프로토 타입을보다 쉽게 만들 수있는 빠른 상용구 생성기를 의미합니다. 실제로는 실제 프로젝트를위한 훌륭한 출발점이 아닙니다 (특히 이미 수동으로 콜렉션을 작성한 경우). REST API가 필요하다면 자신 만의 로직으로 확장 할 수 있습니다.
당신은 당신이 시작하기 안내서 따랐다 확신 워드 프로세서 읽은대로 : 그것에서 https://docs.arangodb.com/3/Manual/Foxx/GettingStarted.html
, 비 접두사 모음 이름을 대 앞에 둔 대한 추론과 같이 주어진다 :
을는 방법은 무엇 지정컬렉션 이름이 하드 코드되었으므로 같은 데이터베이스에 나란히 설치되어있는 여러 복사본의 서비스가 동일한 컬렉션을 공유합니다. 이것이 항상 원하는 것은 아니기 때문에, Foxx context은 특정 컬렉션 이름에 마운트 지점 특정 접두사를 적용하여 서비스에 고유하게 적용하는
collectionName
방법을 제공합니다. 또한 수집 방법을 제공합니다.이 방법은db._collection
과 거의 비슷하게 동작합니다. 단, 컬렉션을 찾기 전에 접두사를 적용한다는 점이 다릅니다. documentation for theContext#collection
method 더 기술적 인 측면에서
는, collectionName 사용에 지정된 이름을 전달하는 접두사 이름으로 컬렉션을 찾습니다.
Context#collectionName
에 대한 문서 :이 서비스에 대한 collectionPrefix와
접두사 지정된 이름.
그리고 마지막으로 Context#collectionPrefix
:
서비스 관련 모음의 이름을 유도하기 위해 수집 및 collectionName 사용에 의해 사용되는 접두사. 이것은 서비스의 마운트 지점에서 파생됩니다.
/my-foxx
은my_foxx
이됩니다. 그냥 모든 서비스에 의해 접두어가 버전 (직접db
객체를 사용)를 공유 컬렉션을 사용하려는 경우
그래서, 그래,가는 방법이다.그러나 이것은 종종 서로 다른 서비스 간의 밀접한 결합을 장려하여 처음에는 별개의 서비스로 사용한다는 목적을 깨고 동일한 서비스의 여러 인스턴스가 필요할 때 문제가되지만 데이터를 공유하지 않기 때문에 대부분의 예제는 대신 module.context.collection
메서드를 사용하십시오.
이 새 프로젝트에는 너무 많은 쓰레기가 있습니다. –