[MONGODB] MongoDB를이 중단 경고 collection.find 옵션을 몽구스
MONGODBMongoDB를이 중단 경고 collection.find 옵션을 몽구스
collection.find를 사용하여 문서를 조회하는 동안 나는 내 콘솔에서 다음과 같은 경고를 받기 시작했다
이유는이 메시지가 표시되는 방법 나는이 문제를 해결합니까? (가능한 대안)
편집 : 쿼리 추가
Session
.find({ sessionCode: '18JANMON', completed: false })
.limit(10)
.sort({time: 1})
.select({time: 1, sessionCode: 1});
몽구스 버전 5.2.9
해결법
-
==============================
1.최신 정보:
최신 정보:
5.2.10 해제하고 여기에 다운로드 할 수있다.
사용 mongoose.set ( 'useCreateIndex', TRUE); MongoDB를 기본 드라이버에 createIndex 메소드를 호출 mongooose해야합니다.
당신이 페이지를 볼 수있는 문서에 대한 추가 정보를 원하시면 https://mongoosejs.com/docs/deprecations
문제와 그 해결에 대한 추가 정보를 원하시면 https://github.com/Automattic/mongoose/issues/6880
원래 답변 :
몽구스 5.2.9 버전은 변경되지 않는 원시 드라이버의 메서드를 호출 할 때 경고 메시지를 던져 추가 된 3.1.3에 기본 MongoDB의 드라이버를 업그레이드했습니다.
필드 옵션은 더 이상 사용되지 않으며 투사 옵션으로 대체됩니다.
당신은 프로젝션 필드 옵션을 대체하기 위해 자신의 말에 메이크업 변화에 몽구스 때까지 기다려야합니다. 수정은 5.2.10 출시 될 예정이다.
시간에 대한 모든 사용 중단 경고를 억제 할 5.2.8으로 돌아갈 수있는.
npm install mongoose@5.2.8
다른 모든 사용되지 않는 경고를 들어 당신은 케이스별로 사건을 접근해야합니다.
다른 수집 방법을 사용할 때 다른 사용 중단 경고가 표시됩니다.
DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead. DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead. DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead. DeprecationWarning: collection.save is deprecated. Use insertOne, insertMany, updateOne, or updateMany instead. DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
기본적으로 모든 findOne * 몽구스 쓰기 방법은 MongoDB를 기본 드라이버에서 사용되지 않는 한 findAndModify 방법을 사용합니다.
사용 mongoose.set ( 'useFindAndModify', 거짓); MongoDB를 기본 드라이버의 해당 findOne * 메소드를 호출 mongooose해야합니다.
제거 및 업데이트를 위해 각각 삭제 * 및 업데이트 * 방법과 이러한 호출을 대체합니다.
용으로 저장하는 것은 * / 업데이트 * 방법 각각 인서트 이러한 호출을 대체합니다.
-
==============================
2.
mongoose.connect('your db url', { useCreateIndex: true, useNewUrlParser: true })
또는
mongoose.set('useCreateIndex', true) mongoose.connect('your db url', { useNewUrlParser: true })
-
==============================
3.버전 5.2.10로 업그레이드 한 후. 옵션 중 아래 사용 할 수 있습니다
버전 5.2.10로 업그레이드 한 후. 옵션 중 아래 사용 할 수 있습니다
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test', { useCreateIndex: true, useNewUrlParser: true }) .then(() => console.log('connecting to database successful')) .catch(err => console.error('could not connect to mongo DB', err));
또는
const mongoose = require('mongoose'); mongoose.set('useCreateIndex', true); mongoose.connect('mongodb://localhost/test',{ useNewUrlParser: true }) .then(() => console.log('connecting to database successful') ) .catch(err => console.error('could not connect to mongo DB', err) );
-
==============================
4.당신은 NPM이 mongoose@5.2.8를 설치 할 수 있으며,이 모든 중단 경고를 표시하지 않습니다 이전 버전으로 돌아갈 당신이 도움이 될 것입니다
당신은 NPM이 mongoose@5.2.8를 설치 할 수 있으며,이 모든 중단 경고를 표시하지 않습니다 이전 버전으로 돌아갈 당신이 도움이 될 것입니다
from https://stackoverflow.com/questions/51916630/mongodb-mongoose-collection-find-options-deprecation-warning by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 아틀라스 MongoDB를 클라우드 서비스에 Heroku가 응용 프로그램을 연결 (0) | 2019.12.17 |
---|---|
[MONGODB] 봄의 데이터 - MongoDB를 - 중첩 된 객체에 대한 findBy 방법 (0) | 2019.12.17 |
[MONGODB] 방랑 상자에 meteor.js 프로젝트를 작업을 만들 수 없습니다 (0) | 2019.12.17 |
[MONGODB] 새 컬렉션에 수출 MongoDB를 집계 프레임 워크의 결과 (0) | 2019.12.17 |
[MONGODB] MongoDB의 색인 / RAM 관계 (0) | 2019.12.17 |