생활코딩

Coding Everybody

Orientdb 소개 및 기본 사용법

토픽 생활코딩 > 서버 > JavaScript (nodejs) - 폐지예정

Orientdb로 웹에플리케이션 제작 1 : 소개

Orientdb로 웹에플리케이션 제작 2 : 설치

Orientdb로 웹에플리케이션 제작 3 : 기본 사용법

Orientdb로 웹에플리케이션 제작 4 : orientjs 설정

Orientdb로 웹에플리케이션 제작 5 : SELECT

Orientdb로 웹에플리케이션 제작 6 : INSERT & UPDATE & DELETE

예제

orientdb의 기본 사용법 예제

댓글

댓글 본문
  1. 굼벵이
    완료
  2. beam1100@naver.com
    감사합니다.
    대화보기
    • Braden
      제가 잘 몰라서요^^ JDK 설치하려고 했더니 버전이 10.0.1이라서 했더니 server.sh실행시 문제가 되서 jdk-8u171-macosx-x64 설치했더니 되네요...^^ 제가 모르니 한수 알려주세요~~~
    • 예나빠
      windows10 cmd에서
      npm install orientjs --save 시
      Can't find Python executable "python", you can set the PYTHON env variable
      에러

      ->
      관리자 권한 실행 으로 cmd를 실행하고 아래 명령어를 입력합니다.
      npm install -global --production windows-build-tools

      npm install --global node-gyp

      후에 하시면 되네요

      출처 :
      http://inspiredjw.com......%B0
      https://code.i-harness.com......3d2
    • proSiGi
      Orientdb로 웹에플리케이션 제작 1 : 소개 영상에서
      Relationship Traversing 설명부분의 O(1), O(LogN) 이라는 것이 어떤것인지 궁금한 분들이 있을것 같아서 댓글 남깁니다.

      알고리즘의 시간 복잡도를 표기하는 방법중 하나로서
      점근표기법의 Big-O 표기법 으로 orientdb 소개페이지의 테이블에 나타 낸것으로 생각 됩니다.

      간단하게 알고리즘의 성능치를 나타내는것이라고 생각하면 될것 같습니다.

      [Big-O 표기법 성능 정리]
      https://joshuajangblog.wordpress.com......on/

      [시간복잡도 WiKi]
      https://ko.wikipedia.org......%84

      [점근표기법(Big-O표기법) WiKi]
      https://ko.wikipedia.org......%95
    • daniel
      이 에러가 DB에 접속을 할 수가 없다는 것 같은데..
      커멘더에서 node를 실행하려면 어쩔수 없이 orientDB에서 나와서 명령어로 실행해야 되는데...
      그럼 DB와의 접속이 끊기고 아래와 같이 에러가 나오네요..

      해결 부탁드립니다

      Unhandled rejection OrientDB.ConnectionError [ECONNREFUSED]: connect ECONNREFUSED 127.0.0.1:2424
      at Connection.<anonymous> (D:\dev\js\serverside_javascript\node_modules\orientjs\lib\transport\binary\connection.js:182:14)
      at Object.onceWrapper (events.js:315:30)
      at emitOne (events.js:116:13)
      at Socket.emit (events.js:211:7)
      at emitErrorNT (internal/streams/destroy.js:64:8)
      at _combinedTickCallback (internal/process/next_tick.js:138:11)
      at process._tickCallback (internal/process/next_tick.js:180:9)
    • daniel
      예제에 따라 database_orientdb.js를 node에서 실행하려면
      커멘더 창에서 node database_orient.js 를 입력해서 실행하는 것은 알겠습니다.

      여기서 한가지...커멘더 창에서 node를 입력하려면 현재 orient디비가 실행중인데 중지하고 다시
      커멘더 창에서 실행해야 되지 않나요?

      커멘더 창 2개를 열어 창 하나에 orientDB 실행하고 다른창에 node 실행하니 에러가 나던데..
      어떻게 해야 할까요?
    • 박인호
      1-12
      수강완료.
      sql문을 사용해서 orientDB 를 제어할 수 있다는 것은 상당히 매력적이네요.
      따로 문법을 외워야 할 필요가 없어서 좋은 것 같습니다.
    • 은행동주민
      감사합니다!
    • ㅎㅎㅎ
      클라우드9 사용중인데 localhost:2480이 접속이 안됩니다 어떻게 해야하나요?
    • 박진억
      Znews 클래스의 Properties인 desc가 예약어라서 생긴 문제인것 같습니다.
      desc를 다른이름(description 등)으로 변경하시면 잘 될겁니다.
      대화보기
      • 추추추
        var sql = "INSERT INTO Znews (title, desc) VALUES(:title, :desc)";
        이 부분에서 Znews(title, desc)를
        Znews(title, description) 으로 고쳐야 하지 않을까요?
        대화보기
        • Seo Yun Seok Tudoistube
          INSERT 에서만 아래와 같은 오류가 납니다^^;;
          var sql = "INSERT INTO Znews (title, desc) VALUES(:title, :desc)";
          var param = {
          params: {
          title:'Express'
          , desc: 'Express is a framework for web.'
          }
          };
          db.query(sql, param).then(function(results){
          console.log(results);
          });

          혹시 어떻게 하면 해결하는지 아시면 답글로 좀 알려주세요.
          Unhandled rejection OrientDB.RequestError: Error parsing query:
          INSERT INTO Znews (title, desc) VALUES("Express", "Express is a framework for web.")
          ^
          Encountered " "(" "( "" at line 1, column 19.
          Was expecting one of:
          <SELECT> ...
          <FROM> ...
          <RETURN> ...
          <CLUSTER> ...

          DB name="o2"
          at child.Operation.parseError
          ......
        • siggraphk
          :id, :title, :desc 같은건 무엇을 의미하는 건가요?

          '변수로 쓰일 준비를 한다' 의 의미정도로 해석하면 될까요?
        • 초보개발자
          New Class 생성 버튼이 안보이는 분들은 아래 'Generic Classes' 의 우측에 있는 '+NEW GENERIC'
          클릭하면 됩니다.
        • 정말 감사합니다. 돈주고도 살 수 없는 강의입니다~
        • mothcar
          영어로 된 설명만 봤는데 너무 고맙습니다. ㅜㅜ
        • 신입1
          감사합니다
        • 끯뺅뿆
          그래도 콘솔(BROWSE 탭)에서 클래스(테이블) 생성은 되네요.

          CREATE CLASS topic

          이런식으로..

          (참고..)http://orientdb.com/docs/last/Tutorial-Classes.html
          대화보기
          • 끯뺅뿆
            저도 그런데 왜 그럴까요? 음.. 뭔가 권한이 없어 보이는 것 같은데..
            대화보기
            • Nodenodejs
              localhost:2480 으로 접속 후 o2 root 111111 login 후 schema 에 새로운 class를 생산하는창이 보이지않습니다..
            • 신입1
              Orientdb로 웹에플리케이션 제작 2 : 설치 완료
            • 1234
              디비접속 성공했는데 then()이나 쿼리가 실행이 안된다면

              port를 HTTPport로 바꿔보세요
              var server = OrientDB({
              host: 'localhost',
              HTTPport: 2480,
              username: 'root',
              password: 'psw'
              });
            • 24124
              다맞게 했는데 접속이안되네 ...ㅎ
              왜안되는지 err도 못띄우고 ㅋㅋㅋㅜㅜㅜㅜ
            • Yongjae Han
              내 컴퓨터 > 시스템 속성 > 고급 > 환경변수 > 시스템 변수에
              이름: _JAVA_OPTIONS
              값: -Xmx512M

              이렇게 변수를 하나 만들고 나서 다시 해 보세요. :)
              만약 그래도 안되면 숫자 크기를 더 늘려 보세요. ㅎ
              대화보기
              • 강병천
                윈도우os환경에서 orientdb를 설치하고 cmd창에서 server.bat을 치니까,
                Invalid maximum direct memory size: -XX:MaxDirectMemorySize=512g
                The specified size exceeds the maximum representable size.
                Error: Could not create the Java Virtual Machine
                Error: A fatal exception has occurred. Program will exit
                이런에러가 뜨길래, server.bat 이랑 server.sh 파일을 notepad에서 열어서 512m으로 바꾸니까
                'Error occurred during initialization of VM
                Could not reserve enough space for 2097152KB object heap' 이라는 에러가뜨네요..
                왜그런건가요 ㅠㅠ
              • 박민호
                안녕하세요~ 오리엔트디비 설치 후에 비밀번호 설정 후 까먹었는대...새로 설치할려고 지워도 다시 비밀번호를 묻더라구요 설정하는게 아니구요 새로 설치하는방법이나. 구글링해도 모르겠는대 비번 찾는방법이나..둘중에 하나만 알아도 해결할것 같은대 하나만 알려주시면 안될가요..ㅜㅜ
              • atom을 통해 코딩할 때는
                var db = server.use({
                name: 'o2',
                username: 'orientdb',
                password: 'orientdb'
                });
                이 방식이 에러나고
                var db= server.use('o2); 이 방식이 사용가능 한 것 같습니다~
                대화보기
                • var OrientDB = require('orientjs');

                  var server = OrientDB({
                  host: 'localhost',
                  port: 2424,
                  username: 'orientdb',
                  password: 'orientdb'
                  });

                  var db = server.use({
                  name: 'o2',
                  username: 'orientdb',
                  password: 'orientdb'
                  });

                  위 방식으로하면 unhandled rejection orientdb 해결됩니다~
                  #reference: http://stackoverflow.com......tjs
                • kihpark
                  http://db-engines.com......bms

                  최신 그래프 데이터베이스 랭킹 정보입니다.

                  참조하세요 : )
                  대화보기
                  • excelsior0828
                    database_orientdb.js 파일의 코드 입니다.

                    var OrientDB = require('orientjs');

                    var server = OrientDB({
                    host: 'localhost',
                    port: 2424,
                    username: 'root',
                    password: 'gksdnf9450'
                    });
                    var db = server.use('o2');

                    var sql = "INSERT INTO topic (title, description) VALUES(:title, :desc)";
                    db.query(sql, {
                    params:{
                    title:'Express',
                    desc:'Express is framework for web'
                    }
                    }).then(function(results){
                    console.log(results);
                    });


                    그리고 이건 터미널 상에 뜨는 error 이구요

                    Hanools-MacBook-Pro:server_side_javascript Hanool$ node database_orientdb.js
                    Unhandled rejection OrientDB.RequestError: Database 'o2' is not configured on server (home=/Applications/orientdb-community-2.2.10/databases/)
                    at Operation.parseError (/Users/Hanool/dev/js/server_side_javascript/node_modules/orientjs/lib/transport/binary/protocol33/operation.js:864:13)
                    at Operation.consume (/Users/Hanool/dev/js/server_side_javascript/node_modules/orientjs/lib/transport/binary/protocol33/operation.js:455:35)
                    at Connection.process (/Users/Hanool/dev/js/server_side_javascript/node_modules/orientjs/lib/transport/binary/connection.js:399:17)
                    at Connection.handleSocketData (/Users/Hanool/dev/js/server_side_javascript/node_modules/orientjs/lib/transport/binary/connection.js:290:20)
                    at emitOne (events.js:77:13)
                    at Socket.emit (events.js:169:7)
                    at readableAddChunk (_stream_readable.js:153:18)
                    at Socket.Readable.push (_stream_readable.js:111:10)
                    at TCP.onread (net.js:536:20)

                    뭐가 문제일까요?
                  • 텅 빈 충만
                    정말 간편하네요!
                  • valley of baka
                    안녕하세요. 생활코딩을 통해서 프로그래밍의 즐거음을 알아가고 있습니당! 항상 감사하게 생각하고 있는데요~
                    그전까지는 동영상 보고 잘따라가다가... 5강부터 node database_orientdb.js 파일이 실행이 안됩니다ㅠㅠ

                    var OrientDB = require('orientjs');

                    var server = OrientDB({
                    host: 'localhost',
                    port: 2480,
                    username: '**** ',
                    password: '****'
                    });

                    console.log('connected to orientdb1.');

                    var db = server.use('o2');
                    var sql = 'SELECT FROM topic';
                    db.query(sql).then(function(results){
                    console.log(results);
                    });
                    console.log('connected to orientdb2.');

                    실행결과를 보면
                    connected to orientdb1
                    connected to orientdb2
                    이렇게 나오고 안되네요.

                    검색해서 해결해보려 했지만.. 원인이 뭔지 모르겠습니당 ㅠ,ㅠ

                    실행환경은 윈도우7이고 orientdb는 접속이 잘되는거 같습니당..

                    댓글을 보다가 저랑 같은 문제가 가지고 계신분 있는거 같은데 해결하셨으면 댓글 부탁드립니당 ㅠ,ㅠ
                  • 냉무
                    몽고는 없나요? 밑에 분들도 몽고 찾고 계시군요..
                  • 이주영
                    댓글을보다가 잘못된 정보가 있어 답글을 남깁니다.
                    언급하신 Oriento의 github 페이지를 가보시면,
                    제일 상단에 Oriento는 deprecated 되었다고 안내하고 있습니다.
                    그리고 그 뒤에, orientjs github 페이지로 이동할 수 있는 링크가 있습니다.
                    이고잉 님의 강좌대로 orientjs를 설치하시면 특별히 문제 없이 진행 하실 수 있습니다. ㅎ
                    대화보기
                    • 욕심쟁이
                      nosql을 이론적으로만 이것저것 들어만 봤던 상태였습니다.
                      여기서 orientdb 처음 접했는데 소개 동영상에서 좀 놀라기도 했고 기본 사용법 따라해보니 흥미롭고 재미지네요.
                      좀 더 배워봐야겠습니다.

                      그런데, 현재시점에서 동영상처럼 console창에 npm install orientjs 로 명령어 실행하면 install시 오류가 납니다.
                      그래서 동영상의 github 페이지 다시 가보니 명령어가 npm install oriento 로 바꼈네요...
                      다른 분들 참고하시길.
                    • 호동
                      안녕하세요. jdk를 설치하고 강의 내용대로 설치를 진행했는데요. C:\Program Files\Java\jre1.8.0_91\bin\server\jvm.dll 파일이 존재하지 않는다는 오류가 계속 떠서요. jdk의 특정 버전에서만 가능한 건가요?
                    • Nano Lee
                      몽고디비와 MEAN Stack도 공부하는데 너무 어렵습니다.
                      몽고디비와 node.js가 연동되는 강의도 있으면 너무 좋겠습니다.
                    • egoing
                      좋은 자료 감사합니다. 링크를 주신 부분 잘 봤습니다. 다른 분들도 해당 링크를 참고하셔서 데이터베이스를 선택하실 때 신중을 기하시면 좋을 것 같습니다.
                      대화보기
                      • 궁금해서
                        오리엔트DB 구글링하는데 DB 랭킹 좋진 않군요. DB중에 41위네요.
                        하이브리드라서 버그가 많은 듯하구요. 이것저것 짬뽕시킨것 중에 좋은걸 본적이 없다는...
                      • sSll바버미니llSs
                        너무 재밌습니다. 감사합니다.
                      • Cuokka
                        성의 넘치는 강의에 배우는 즐거움을 깨닫고 있습니다~

                        소개해주신 orientDB가 저 같은 경우에도 상당히 흥미가 동했다보니
                        여러가지 분위기가 어떤지 훑어봤는데 본 바로는 평가가 그다지 좋지가 않네요..

                        http://orientdbleaks.blogspot.com......tml

                        위 링크를 보시면 작년 정도까지 orientDB의 행보를 정리한 내용인데
                        글 내용과 최근까지 코멘트를 남긴 개발자들의 의견을 전체적으로 보아

                        중요한 부분에 버그가 존재 / 이용자에 대한 피드백이 부실함 / 퍼포먼스가 기대에 미치지 못함
                        정도가 거의 공통적으로 인정하는 부분인 것 같습니다

                        제가 DB를 아주 잘 안다거나 orientDB가 어떻다는 평을 할 정도로 깊이 사용해 본 것은 아닙니다만..
                        워낙 새로운 기술이 난립하는 웹개발 생태계에서 긍정적인 평가를 찾아보기 어려운 기술이
                        실제 괜찮은 면모를 보여주는 것은 상당히 흔치 않은 케이스인지라..
                        (좀 써보니 안되겠어서 갈아탔다는 얘기가 많이 보이네요ㅠㅠ)

                        더군다가 좀 더 안정적인 환경이 뒷받침되어야 할 초급 수준에서는
                        조금 더 신중해야 하지 않을까 싶습니다 ㅎㅎ

                        물론 저희가 간단한 어플리케이션을 제작하고 실습하는 데에는 문제 없겠지만
                        또한 이를 계기로 정식 서비스까지 이용하실 의향이 있으신 분도 신중하게 고려하셔야 할 것 같습니다
                      • egoing
                        아래 페이지를 참고하셔서 디버그 모드를 켜고 어디까지 실행되는지 한번 보시면 좋을 것 같구요.

                        http://expressjs.com......tml

                        그리고 console.log를 이용해서 어디까지 실행되는지 확인해보시고요.

                        orientdb는 제대로 실행됐는지도 한번 확인해보셔요!
                        대화보기
                        • danny
                          안녕하세요 항상 즐겁게 강의를 보고 있는 학생입니다. 제가 윈도우 환경에서 공부를 하고 있는데 5번째 강의 부분까지 수업내용을 잘 따라가고 있었는데 강의 중간 database를 확인하기위해 node database_orientdb.js 를 cmd 상에 적고 실행시켰는데 아무런 화면이 작동되지 않습니다... 다른 cmd창을 켜서 server.bat을 켜놓은 상태인데 다른 이유가 있을까요? 이 곳에서 멈춰서 진도를 못나가고있어요 ㅠㅠ 혹시 어떻게 해야 될 지 알려주실 수 있으신가요?
                        • 김동욱
                          역시 개추
                        • Anto
                          네~ 감사합니다!! Orientdb 수업을 마쳤습니다~ 정말 좋은 수업이네요. 항상 감사합니다.
                          그런데 몽고 디비는 node js 관련 서적이나 자료에 거의 대부분이 이용되기 때문에 저같은 독학 초짜들은 아무래도 조금 더 도움이 될것 같습니다. (후에 독학으로 더 진행할 경우 등).. 번거로운 요청같지만 한편으로는 분명히 이런 니즈가 많을것 같습니다.
                          대화보기
                          • egoing
                            몽고 디비는 제가 관심이 있는 디비는 아니라서요. 하지만 원하시는 분이 많으면 이것도 준비해볼께요. :)
                            대화보기
                            • Anto
                              mongodb 는 다루지 않으시나요? ~_~ 그냥 여쭤봅니당~~ 강의 너무 좋아요!!