programing

(노드:63208) 폐지 경고: collection.sure인덱스는 더 이상 사용되지 않습니다.작성 사용대신 색인

telecom 2023. 3. 6. 20:41
반응형

(노드:63208) 폐지 경고: collection.sure인덱스는 더 이상 사용되지 않습니다.작성 사용대신 색인

이 에러는 어디에서 발생합니까?사용하고 있지 않다ensureIndex또는createIndex내 Nodejs 어플리케이션에서 사용할 수 있습니다.저는 실 패키지 매니저를 사용하고 있습니다.

여기 내 코드가 있습니다.index.js

import express from 'express';
import path from 'path';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import Promise from 'bluebird';

dotenv.config();
mongoose.Promise = Promise;
mongoose.connect('mongodb://localhost:27017/bookworm', { useNewUrlParser: true });

const app = express();

문제는 mongoose가 아직 collection.sure를 사용한다는 것입니다.인덱스를 작성하고 가까운 장래에 갱신할 예정입니다.메시지를 삭제하려면 패키지의 버전 5.2.8을 사용하여 다운그레이드합니다.json(캐시를 모두 삭제합니다.마지막 방법은 npm install mongoose@5.2.8을 사용하여 캐시를 제거하는 것입니다).

"mongoose" : "^5.2.8"

편집: 이 편집 시점에서 Mongoose는 현재 v5.4.13입니다.문서에 따르면, 이것은 권장 해제 경고에 대한 수정 사항입니다.

mongoose.set('useNewUrlParser', true);
mongoose.set('useFindAndModify', false);
mongoose.set('useCreateIndex', true);

update()를 updateOne(), update Many() 또는 replaceOne()로 바꿉니다.

remove()를 deleteOne() 또는 delete Many()로 바꿉니다.

전체 컬렉션(필터 없음)에 있는 문서 수를 계산하려면 count()를 countDocuments()로 바꿉니다.후자의 경우 estimated Document Count()를 사용합니다.

언급URL : https://stackoverflow.com/questions/51960171/node63208-deprecationwarning-collection-ensureindex-is-deprecated-use-creat

반응형