javascript - nodejs를 사용하여 데이터베이스 데이터를 프런트 데스크로 전송합니다. 데이터베이스에 데이터가 있고 연결에 성공했지만 빈 배열을 얻는 이유는 무엇입니까?
ringa_lee
ringa_lee 2017-06-05 11:08:50
0
4
1191

1.api.js

2.db.js


3.vue

4. 데이터베이스

결과는 다음과 같습니다.

얻은 결과는 빈 배열이지만 링크와 데이터베이스가 모두 올바른 이유는 무엇입니까? ? ?

ringa_lee
ringa_lee

ringa_lee

모든 응답(4)
滿天的星座

@cheesekun이 말했듯이 이 문제의 핵심은 몽구스가 모델의 컬렉션 이름(첫 번째 매개변수)을 자동으로 복수형으로 변경한다는 것입니다.

여기서 나는 나만의 실험 과정을 제공하고 아래 두 가지 솔루션 을 제공합니다.

먼저 주제의 의미를 바탕으로 간단한 프로젝트를 만들어봤습니다

app.js 으아아아

module/db.js 으아아아

router/api.js 으아아아

시각화 도구를 통해 mongodb에 연결하고 테스트 데이터베이스 목록 모음에 미리 문서를 삽입하세요


문제 발견

브라우저를 통해 직접 액세스하여 제목과 동일한 빈 배열을 얻었습니다

이유 찾기

컬렉션에 문서를 삽입해 보세요

하단의 코드

를 통해 데이터module/db.js를 삽입하세요. 으아아아 재실행하여 브라우저를 통해 접속하면 코드를 통해 삽입된 데이터가 반환됩니다


이때 시각화 도구를 통해 추가 세트가 있고 그 안에 코드를 통해 삽입한 데이터가 있다는 것을 확인할 수 있습니다

lists

솔루션

컬렉션 이름을 명시적으로 지정하지 않으면 몽구스는 자동으로 model()의 첫 번째 매개변수를 컬렉션 이름과 같은 복수형으로 변경합니다

두 가지 솔루션을 제공하세요. 둘 다 컬렉션 이름을 지정하세요

첫 번째 유형:

세 번째 매개변수를 mongoose.model()에 전달하여 컬렉션 이름을 지정하세요

으아아아 두 번째 유형:

두 번째 구성 항목을 스키마에 전달하여 컬렉션 이름을 지정하세요

으아아아

伊谢尔伦

50센트를 걸었습니다.
mongoose모델 정의시 테이블명에 s가 자동으로 추가되는데, 로그인과 리스트는 추가되지 않습니다. s
데이터베이스를 호출할 수 없습니다
전에 쓴 블로그이고 하단에 언급되어 있습니다
mongoose deep 바다 구덩이

Peter_Zhu

res.send(data)에 console.log(data)를 추가하고 결과가 있는지 확인하세요

某草草

먼저 콘솔에서 xhr 반환 값에 값이 있는지 직접 확인해보세요. 값이 있으면 잘못 얻은 것입니다.

그렇지 않다면 전혀 값을 보내지 않았다는 의미이므로 백엔드에서 문제가 발생한 것이므로 돌아가서 확인하시면 됩니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿