2021. 6. 14. 17:54

ajax 후에, 리턴 받은 값을 넣어주고 싶은데,

 

$('#id값') 를 못쓰는게, 이게, 펑션처럼 쓰는거라... 여러군데서 써야되서....this가 필요한 상황인데,

$(this) 해도 인식을 못한다..

 

ajax 후에 success 에서는 url이 this여서 안되는거였다.

 

 

                $.ajax({
                    type: "POST",
                    enctype: 'multipart/form-data',
                    url: "/ajax",
                    data: fileForm,
                    processData: false,
                    contentType: false,
                    context: this,
                    cache: false,
                    success: function (data) {
                        alert('success '+data);
                        $(this).next().val(data);
                        console.log('this value : ',$(this).next().val());
                    },
                    error: function (e) {
                        alert('fail '+e);
                    }
                })

ajax 타입에, context:this, 를 넣어줘야한다.

저거를 넣어주면, 전송후에도 $(this)로 값을 넣을수있다.

Posted by Tyson
2021. 5. 14. 14:51

터미널에서 작업하다가보면,

이전 명령어 방향키로 바꾸면서 확인하다가.... 다시 다 지우고, 쓰려고 하는데...

 

이전에 명령어가 긴게 들어가 있으면....지울때, 백스페이스를 계속 누르고 있어야한다....

 

예로

이렇게 겁나 긴데....

다 지우려면 백스페이스를 누르고 있기도 빡세다...

 

한번에 지우는 방법은, ctrl + u  이다.

이거 누르면, 한번에 지워짐.

 

 

아....매번 겁나 지우고 있었는데...

ㅠㅠ

 

Posted by Tyson
2021. 4. 18. 10:16

엥귤러를 GCP에 배포하고 나서, 

 

암호가 틀렸을 경우 리다이렉트해 놓은 부분이 있는데,

계속 The requested URL was not found 란 화면이 뜨더라..

 

이게....없는 페이지 접근일 경우인데, 

 

404에러인데.... 그 부분이 처리가 안되서 그런거다....

 

이거는 로컬에서는 괜찮은데, GCP app.yaml에 세팅을 해줘야한다.

 

아래처럼 전체파일들에 대한 실행 위치를 설정해줘야한다.

- url: /(.*)
  static_files: dist/index.html
  upload: dist/index.html

 

혹시 index.html위치가 root라면, 

index.html로 바꿔야한다.

 

그러면, 에러시에 index.html로 이동한다.

 

Posted by Tyson
2021. 4. 8. 17:18

ERROR TypeError: moment_1.default is not a function

 

위 같은 에러가 뜬다.

 

분명히, 인터넷에 있는 Moment 사용법 똑같이 했는데...

 

그리고 나는 moment를 사용해서 현재 시간을 가져와야하는데...

 

 

대부분 아래처럼 import하고 moment() 하면 현재 시간을 불러온다는데... 

import moment from 'moment';

moment();

위처럼하면... TypeError가 뜬다...

ERROR TypeError: moment_1.default is not a function

 

 

아래처럼 moment-timezone를 불러와야 한다.

import * as moment from 'moment-timezone';

 

위처럼 불러오고, moment() 하면 현재 시간을 불러온다.

Posted by Tyson
2021. 4. 2. 11:33

위도 경도를 입력해 놓고,

 

위치 순으로 정렬해야 되는 경우가 많다.

 

현재 위치에서 가까운 순으로 정렬해서 가게 목록을 보여줘야 할때,

 

RDB에서는 위도 경도를 가지고, Sin, Cos 계산식으로 거리 및 가까운 정렬을 계산 했었는데,

 

몽고디비에서는 아에 지원을 해주는 기능이 있어서, 계산을 안해도 된다.

 

구글에서 MongoDB geoSearch를 검색하면 설명이 있다.

 

인터넷에 있는 설명들은 쿼리만 있고, 

 

Document 구조들이 다 같은거만 설명이 있는데....

 

나같은 경우는 위도 경도 필드를 분리해 놓아서..... 

 

인터넷에 있는 설명들이랑 좀 다르게 적용해야했다.

 

결국 위도 경도를 하나의 Array로 합치기는 했지만, 

 

 

이 기능을 사용하기 위해서는, 위도 경도를 한 필드에 Array로 값을 넣어야한다.

 

 

그리고, 지형 인덱스를 걸어 놓아야 된다.

 

값을 넣을때, 예로, [경도,위도] 이렇게 넣어야한다.

 

내 document는 

address 필드 안에 map 이 있고, 그 아래, location 필드에 위도 경도 정보를 넣어 놓았다.

 

{address: {
	map: {
    	location: [126.899309,34.4392949]
    }
  }
}

이렇게 들어가 있다고 치고, 

location에 2dshpere 인덱스를 걸어야한다.

 

쿼리명령어는 다른 사이트에 설명이 많으니, 난  MongoDB Compass에서 하는법을 설명하겠다.

(이게 편하긴하다.)

 

 

몽고디비 보면, 인덱스 탭이 있고,

 

왼쪽에 보면, "CREATE INDEX" 가 있고, 누르면,

 

아래창이 뜬다.

 

 

인덱스명을 적고, 

필드는  아까 , address.map.location 를 선택하고, 옆에 타입에 2dsphere를 꼭 선택해야한다.

 

 

자... 이제, 이거를 가까운 순으로 정렬을해보자~

 

Compass에서 볼때는 

filter에 

{"address.map.location":{$nearSphere:[127.123434,33.334444]}}

 이렇게 입력하면, 저 입력된 위치랑 제일 가까운 데이터 부터 보여준다.

 

쿼리는 

>db.place.find({"address.map.coordinates":{$nearSphere:[127.123434,33.334444]}})

이렇게 하면 값이 뜬다.

 

 

'컴퓨터 > MongoDB' 카테고리의 다른 글

MongoDB 여러개 업데이트  (0) 2021.04.01
Posted by Tyson
2021. 4. 1. 17:08

RDB에서는 원하는 데이터들 수정할때, Select로 검색하고, 

 

수정할 DATA 써주는데...

 

몽고디비 잘못들어간 데이터 몇천건을 다 수정해야될 상황이 생겼는데....

 

예로 사용자(user) 성별(gender)에 Female로 넣으려고 했는데, F로만 들어간것들 찾아서, Female로 바꿔야 된다.

 

인터넷 찾아보면, 아래 쿼리처럼 하라는데...해보니까..하나씩 수정이 되더라..

db.user.update({gender:"F"}, {$set:{"gender":"Female"}});

 

몽고디비 Update에 옵션 부분이 있는데, 아래처럼, 맨 마지막에, multi 옵션을 True로 해주면,

값이 없을때까지 다 업데이트를 해준다.

db.user.update({gender:"F"}, {$set:{"gender":"Female"}},{multi:true});

 

좀 더 심화방법으로  Male로 들어간 거 빼고, 다른 것들 다 업데이트를 해야되면, $ne를 추가해주면 된다.

db.user.update({gender:{$ne:"Male"}}, {$set:{"gender":"Female"}},{multi:true});

이렇게 하면, Male를 제외한 모든 Document 들을 Female로 업데이트를 해준다.

 

 

'컴퓨터 > MongoDB' 카테고리의 다른 글

몽고디비 위도 경도 정렬 (위치기반 쿼리)  (0) 2021.04.02
Posted by Tyson
2021. 2. 5. 16:43

♡ ♥  💙    

❤️🧡💛💚💙💜

💔💖💗💓💞💕💘

 

 

Ⅰ. Ⅱ. Ⅲ. Ⅳ. Ⅴ. Ⅵ. Ⅶ. Ⅷ. Ⅸ. Ⅹ

 1. 2. 3. 4. 5. 6. 7. 8. 9. 10

 

 

½⅓⅔¼¾⅛⅜⅝⅞¹²³⁴ⁿ₁₂₃₄

 

 

→ ←↑↓ ↔ ↗↙↖↘

 

 

화장실 표시

☿♀♁♂

Posted by Tyson
2021. 2. 5. 10:49

나같은 경우는 GCP 통해서 배포를 했는데....

 

아래 에러가 계속 뜬다......

 

MongoError: Authentication failed. at MessageStream.messageHandler

 

아...몽고디비접속이 안된거다...

 

보니까...배포용 환경변수에 몽고디비 접속 정보를 업데이트 안했다...ㅠㅠ

 

몽고디비 접속 안되는 에러니까.... 

 

접속정보 다시 확인해 보면 된다.

Posted by Tyson
2021. 2. 2. 12:39

 

 

 

 

 

 

 

포스트맨에서 Json를 보내다...

객체로 된 데이터가 있는데....

아래처럼 평소에 raw로 보내는게 안되는거다..

 

아래같은 메시지가 나온다.

 

이게, Json 양식에 맞지 않아서 안가는거라....

객체도 표시를 해줘야한다.

아래처럼..

 

객체도 " 따옴표로 해주고, 키값에도 표시를 하기위해서, 따옴표를 붙여하는데, 객체안 따옴표에는 역슬래시    \" 를 붙여줘야한다.

 

그래야 따옴표로 인식을 한다.

 

----------------------------------------------------------------------------------------------------------------

추가적으로 아래같은 Array도 보면,

Array를 따옴표로 감싸고, 

그 안에 따옴표는 \" 로 해주면 된다.

 

 

 

 

-------------------------------------------------------------------------------------------------------------

여기서 업그레이드 질문, 

Array안에 Array 는?

 

위처럼 Array안에 객체를 만들도 또 Array를 만들때는, "따옴표가 필요없다.

 

 

처음 제일 바깥쪽 Array 만 따옴표 쓰고, 나머지는 값에만 썼다.

그리고, (줄바꿈)엔터치지 마라..... 다 붙여야 된다.

 

Posted by Tyson
2021. 1. 28. 15:45

가끔 이미지 캡쳐해서 티스토리 작성할때 바로 붙여 넣기 하는데...

 

기본제공 이미지 편집에 테두리 넣는게 없다...

 

왜 그런기능을 안넣어놨는지......

 

그래서 항상 

기본모드에서 HTML 로 바꿔서, style를 넣었는데..

이것도 귀찮아서, 그냥 css에 추가함.

 

두가지 방법 다 알려주겠다.

 

1. 글작성하는곳 오른쪽 위를 보면, '기본모드'로 되어있다.

 

여기에서 HTML로 바꾼다.

 

코드에 보면, 이미지 정보 있는 태그가 있을거다.

<p>이미지주소 </p> 안에 있는데...

<div style="border: 1px solid black;"><p>이미지정보</p></div>

바깥쪽에 div 하고 스타일 넣어주는거다. 

 

이렇게 하는 방법이 있고,

-------------------------------------------------

두번째로는 CSS 세팅을 해놓는거다.

 

먼저, 블로그관리 -> 스킨편집 -> HTML 편집 -> CSS 탭 으로 들어간다.

 

그리고 나같은 경우는 아래처럼 추가했다.

그다음에 적용 눌러준다.

 

그리고 다음부터는 HTML 열어서

아래처럼 써준다.


<div class="border_view">이미지 정보</div>

class="border_view" 추가해주면 된다.

 

이름은 본인이 편한거 짧은거 써도 된다.

 

그러면,  앞으로 이미지에 테두리넣을때 저거만 써주면 된다.

Posted by Tyson