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