문제:
문제는 제목과 같습니다. 백엔드에서 동시에 데이터를 작동해야 하는 두 개의 인터페이스를 프런트엔드에서 요청하면 백엔드에서 오류를 보고합니다. 두 번째 요청이 이전 요청과 동일한 것 같습니다. 데이터베이스가 아직 닫히지 않아 오류가 발생했습니다.
코드는 다음과 같습니다.
db.js:
var 설정 = require('../settings'),
으아악module.exports = new Db(settings.db, new Server(settings.host, settings.port), {safe: true});
user.js
user.checkCollect = 함수(사용자 이름, artid, 콜백) {
으아아아}
데이터베이스 작업을 위한 코드입니다. 테스트 결과 동일한 인터페이스를 요청하든, 다른 인터페이스를 요청하든 해당 시점에서 두 번 이상 요청하면 이 문제가 발생하는 것으로 나타났습니다. 동시에 조언을 해주세요!
node-mongodb-native
드라이버를 사용하고 있는 것 같습니다. 이전 버전에서는 DB를 최상위 개체로 사용했지만 현재 드라이버는 일반적으로MongoClient
를 최상위 개체로 사용하는 것을 권장합니다. 드라이버 설명서를 직접 참조하세요:https://github.com/mongodb/no...
MongoClient
는 연결 풀을 유지 관리하므로 일반적으로 종료하기 전에 닫을 필요가 없습니다. 예를 들어, 항상MongoClient
만 사용하세요.