Server Side JavaScript

Orientdb로 웹에플리케이션 구현

Orientdb로 웹에플리케이션 제작 7 : 구현 계획

Orientdb로 웹에플리케이션 제작 8 : 읽기 1 - 글목록

Orientdb로 웹에플리케이션 제작 9 : 읽기 2 - 상세보기

웹에플리케이션 제작 - 읽기기능 2의 예제

Orientdb로 웹에플리케이션 제작 10 : 글추가

웹에플리케이션 제작 - 추가 기능의 예제

Orientdb로 웹에플리케이션 제작 11 : 글편집 1

웹에플리케이션 제작 - orientdb 11 - 편집1 예제

Orientdb로 웹에플리케이션 제작 12 : 글편집 2

웹에플리케이션 제작 - orientdb 12 - 편집 2 예제

편집 구현 정정

Orientdb로 웹에플리케이션 제작 13 : 글삭제

웹에플리케이션 제작 - orientdb 13 - 삭제 예제

댓글

댓글 본문
작성자
비밀번호
  1. 정준혁
    오래돼서 이미 해결했을지 모르겠지만, 저도 그런문제가 있었는데 다시 차근차근 코드 만들어보니까 되더라고요 아예 그 부분 다지우고 잘되던 부분부터 다시 작성해보심이.. 저도 오래되서 기억은 잘안나는데 띄어쓰기 때문에 변수가 잘못되었던거 아니면, 제 경우는 명령문 자체에 문제가 아니라 다른 코드에서 괄호 빼먹거나 오타가 있었던게 문제였습니다.
    대화보기
    • 정준혁
      버전이 바껴서 그런지 DELETE 만으로는 삭제가 안되네요, 찾아보니까 DELETE VERTEX로 하니까 잘됩니다!
      수련하고 가야겠네요 감사합니다
    • 박인호
      1-12
      수강완료.
      다음 강의로 넘어가기 전에 확실히 '수련'을 하고 넘어가야겠군요.ㅎㅎ
    • encodeURIComponent 는 res 단으로 넘어가서 브라우저로 보내는 건데
      res.send 가 호출되기 전에 id 값을 찍으면 #12:0 이 들어가서 그런것 같네요
      대화보기
      • Seo Yun Seok Tudoistube
        알려주셔서 감사합니다.

        원인이 DESC 라는 단어가 INSERT 문의 VALUES 값 안에 따옴표에 둘러싸여 있어도 예약어여서 발생한거 같습니다.

        저도 여기서 막혀서 잠시 의욕상실됐다가 지난주말에 우연히 발견하고 다시 내일부터 이어서 나가려고 합니다.

        혹시, 제가 해보고 예약어 때문이 아니면 다시 답글로 올리겠습니다.

        감사합니다^_____^!!!
        대화보기
        • 저도 님과 같은 오류가 있었는데요, params를 별개의 변수로 뺄때만 오류가 생겼습니다. 예를 들어, var params = {......} 한 뒤 db.query문에 넣으면 오류가 생기더군요. 대신 이고잉님처럼 db.query(sql, {params:{...}} 처럼 하면 오류가 전혀 없습니다. 신기하다고 생각하고는 있습니다만 도움이 될진 모르겠습니다.
          대화보기
          • 김주한
            질문있습니다. 에디트주소는 이미 http://localhost......로 중간의 rid가 변환되어서 나오는데 밑의 코드에서 var id = req.params.id; 하면 위의 %2322%3A0가 id에 담겨야된다고 생각했는데, id를 출력해보니 #12:0처럼 변환하기 전 id가 나오네요. 왜 그런건지 모르겠습니다..
            app.post('/topic/:id/edit', function(req, res){
            var sql = 'UPDATE topic SET title=:t, description=:d, author=:a WHERE @rid=:rid';
            var id = req.params.id;
            var title = req.body.title;
            var desc = req.body.description;
            var author = req.body.author;
            db.query(sql, {
            params:{
            t:title,
            d:desc,
            a:author,
            rid:id
            }
            }).then(function(topics){
            res.send(id)
            // res.redirect('/topic/'+encodeURIComponent(id));
            });
          • Seo Yun Seok Tudoistube
            앞의 강의에서와 같이 INSERT 부분에서 Error parsing query 오류가 나는데요,
            제 생각에 VALUES 다음에 값을 둘러싼 쌍따옴표(") 때문에 주석문으로 인식해서 아닐까 궁금합니다.
            혹시, INSERT 에서 오류없으신분들은 어떻게 하셨는지 궁금합니다^^???
            소스 : var sql = 'INSERT INTO topic (title, desc) VALUES(:title, :desc);';
            콘솔화면 :
            Unhandled rejection OrientDB.RequestError: Error parsing query:
            INSERT INTO topic (title, desc) VALUES("qqq", "aaa");
            ^
            Encountered " "(" "( "" at line 1, column 19.
            Was expecting one of:
            <SELECT> ...
            <FROM> ...
            <RETURN> ...
            <CLUSTER> ...

            DB name="o2"
            at child.Operation.parseError (D:\JoyWins\WS_Javascript\OpenTutorialsNodeJs\node_modules\orientjs\lib\transport\binary\protocol33\operation.js:896:13)

            제가 OrientDB ZIP 파일로도 해보고, 이전버전인 tar 파일 218 버전도 받아봤는데, 같은 오류가 나서
            OrientDB 깃헙 이슈에서 같은 오류가 있어서 봤는데 해결책은 따라 해봤는데 해결이 안되었습니다.
            https://github.com......584

            혹시, INSERT 되시는 분 댓글 보시면 어떻게 하셨는지 알려주세요. 감사합니다^_____^!!!
          • 초보개발자
            음.. 저만 이상한건지 모르겠는데, 마지막에 글 삭제를 하고 난뒤 /topic 으로 이동하면 삭제한 아이템은
            빈 불렛으로 출력됩니다. 이건 view.jade 파일에서 rid 값 기준으로 항목들을 출력하기 때문에 그런 것이므로
            아래와 같이 수정해 주시면 좋을 것 같네요.
            each topic in topics
            if topic.title // <-- 추가 코드: rid값이 아닌 title이 있는 경우에만 출력
            li
            - rid = encodeURIComponent(topic['@rid'])
            a(href='/topic/' + rid)= topic.title
          • Jungjae Choi
            atom packages install에서 'atom-jade' 설치하시면 jade 파일이 컬러풀 해집니다 :)
            대화보기
            • 신입1
              Orientdb로 웹에플리케이션 제작 12 : 글편집 2 까지 완료
            • msminsu
              var sql= 'DELETE FROM topic WHERE @rid=:rid';
              var sql= 'DELETE VERTEX FROM topic WHERE @rid=:rid';

              저는 app_orientdb.js 파일에 app.post('/topic/:id/delete,.... 부분에 쿼리문에
              문제가 있었습니다.

              orientDB 버전업되서 그런지 document 종류가 여러가진데.. 그거에 따라 삭제 쿼리문이 다른것 같습니다.
              전 회사에선 첫번째 쿼리문이되고 집에선 두번째 쿼리문이 되더라구요...
              대화보기
              • 1234123
                크으 db접속이안되서 실습 불가
              • 광선생
                안녕하세요 이고잉님 강의 잘 듣고 있습니다

                감사합니다

                궁금한점이 12-1,13강의까지는 ATOM 내 jade 코드 색이 단색인데
                최근 제작한 12-2강의부터 가독성이 좋아진 컬러를 보이고 있는데
                어떻게 하는건가요?

                찾다가 못찾아서 이렇게 문의를 남깁니다
              • 새아
                어디에 질문해야 할지 몰라서 여기 적게 되었습니다~~
                여기서 배운것을 응용해서 뭔가 만들어보고 있는데 orientdb는 id가 제멋대로 만들어져서..ㅠㅠ 순서대로 글이 써지지 않는 것 같습니다..
                어떻게 해결할 수 있을까요? 글쓴 순서대로 나오게 하고싶은뎅..ㅠㅠ
              • 티티와
                DELETE 에서 YES 버튼 누르면 이 에러가 자꾸 뜹니다.

                Unhandled rejection OrientDB.RequestError
                at child.Operation.parseError (/opt/server_side_javascript/node_modules/orientjs/lib/transport/binary/protocol33/operation.js:864:13)
                at child.Operation.consume (/opt/server_side_javascript/node_modules/orientjs/lib/transport/binary/protocol33/operation.js:455:35)
                at Connection.process (/opt/server_side_javascript/node_modules/orientjs/lib/transport/binary/connection.js:399:17)
                at Connection.handleSocketData (/opt/server_side_javascript/node_modules/orientjs/lib/transport/binary/connection.js:290:20)
                at emitOne (events.js:96:13)
                at Socket.emit (events.js:189:7)
                at readableAddChunk (_stream_readable.js:176:18)
                at Socket.Readable.push (_stream_readable.js:134:10)
                at TCP.onread (net.js:551:20)


                이건 어떻게 고치나요?
              • 가루다
                @rid select시 alias를 줘서 하는 조회하는게 encode하는것보다는 편한것 같습니다.
                SELECT @rid as rid
                FROM topic
              • halora
                egoing님

                웹에플리케이션 제작 - 읽기기능 2의 예제 view.jade 오타있습니다.
                As-Is: artcle
                To-Be: article
              • SimonFirst
                아... 바로 다음 강의에서 나오는군요!!
                대화보기
                • SimonFirst
                  웹앱제작 12 편집2에서
                  app.get('/topic/:id/edit', function(req, res){
                  ...
                  ...
                  app.post('/topic/:id/add', function(req, res){
                  라고 나오는데요.
                  여기서 왜 post에서 '/topic/:id/add'가 되는건지 이해가 안됩니다 ㅠㅠ
                • fasdgoc
                  감사합니다
                • 광팔a
                  와 3번째영상.. 읽기2 어렵네요
                  잘 따라오다가 처음으로 코드복사했습니다 ㅜㅜ
                  대신 한번더 복습하고 다음으로 넘어가겠습니다..
                • sSll바버미니llSs
                  헐..영상 바로 1분뒤에 알려주시네요. 이고잉님 나쁨 ㅠ.ㅜ 그냥 넘겼어야하는데...
                  대화보기
                  • sSll바버미니llSs
                    한시간째 버벅이다 그냥 이고잉님 코드 붙혀서 넘겼어요.
                    대화보기
                    • sSll바버미니llSs
                      똑같이 한거 같은데 도대체 찾을수가 없네요. li 에서는 a tag에 있는 topic.title은 출력이 되었었는데...
                      article에서는 TypeError가 나는데요..ㅠ.ㅜ

                      12| a(href='/topic/'+rid)= topic.title
                      13| article
                      > 14| h2= topic.title
                      15| = topic.description
                      16| div
                      17| a(href='/topic/new') new

                      Cannot read property 'title' of undefined
                    • orientdb 읽기 부분을 보다가 질문이 있어서 글을 올립니다.
                      파일 읽고 쓰기와 달리 글 목록 주소를 현재 rid값으로 하고 있는데, 이 rid값으로 꼭 써야 하는 것인가요? 그리고, 실제 라이브 환경에서도 이렇게 사용하는지 궁금합니다.


                      PS. 영상 보면서 재미있게 따라하고 있다보니 시간이 금방 지나가더라구요 감사합니다!
                      특히, 쭉 하다가 '실제 환경에서는 이렇게 하시면 안됩니다. (password 부분 등등), 이럴때는 이렇게 사용합니다.(인코딩 하는 부분)' 이렇게 이야기 해주시는 점이 좋은 것 같습니다.
                    버전 관리
                    egoing
                    현재 버전
                    선택 버전
                    graphittie 자세히 보기