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. 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 자세히 보기