MongoParseError: useCreateIndex, useFindAndModify 옵션은 지원되지 않습니다.
실행하려고 했는데 제목과 같은 오류가 발생하더군요.그리고 이게 내 코드야
const URI = process.env.MONGODB_URL;
mongoose.connect(URI, {
useCreateIndex: true,
useFindAndModify: false,
useNewUrlParser: true,
useUnifiedTopology: true
}, err => {
if(err) throw err;
console.log('Connected to MongoDB!!!')
})
.env에서 MONGODB_URL을 설정했습니다.
MONGODB_URL = mongodb+srv://username:<password>@cluster0.accdl.mongodb.net/website?retryWrites=true&w=majority
어떻게 고치죠?
Mongoose 6.0 문서:
useNewUrlParser, useUnifiedTopology, useFindAndModify 및 useCreateIndex는 지원되지 않게 되었습니다.Mongoose 6은 항상 useNewUrlParser, useUnifiedTopology 및 useCreateIndex가 true, useFindAndModify가 false인 것처럼 동작합니다.코드에서 이러한 옵션을 삭제해 주세요.
저도 같은 문제가 있었습니다만, useCreateIndex 를 삭제하면, useFindAndModify 를 사용하면 문제가 해결됩니다.
const URI = process.env.MONGODB_URL;
mongoose.connect(URI, {
useNewUrlParser: true,
useUnifiedTopology: true
}, err => {
if(err) throw err;
console.log('Connected to MongoDB!!!')
});
그것은 나에게 효과가 있었다.
사용 중지 경고 옵션 없음 경고 옵션
useNewUrlParser
,useUnifiedTopology
,useFindAndModify
, , , , 입니다.useCreateIndex
는 지원되지 않게 되었습니다. Mongoose 6처럼 합니다.useNewUrlParser
,useUnifiedTopology
, , , , 입니다.useCreateIndex
입니다.또, 「」useFindAndModify
.코드에서 이러한 옵션을 삭제해 주세요.
src --> https://mongoosejs.com/docs/migrating_to_6.html#no-more-deprecation-warning-options
// No longer necessary:
mongoose.set('useFindAndModify', false);
await mongoose.connect('mongodb://localhost:27017/test', {
useNewUrlParser: true, // <-- no longer necessary
useUnifiedTopology: true // <-- no longer necessary
});
저도 같은 문제가 있어요.인스태드
mongoose.connect(URI, {
useCreatendex: true,
useFindAndModify: false,
useNewUrlParser: true,
useUnifiedTopology: true
}, err => {
if(err) throw err;
console.log('Connected to MongoDB!!!')
})
이것을 시험해 보세요.
mongoose.connect(URI,
err => {
if(err) throw err;
console.log('connected to MongoDB')
});
이 오류는 새로운 버전의 mongoose 6.0.6이 원인입니다.
설명서에 기재되어 있는 바와 같이:
사용 중지 경고 옵션 없음 경고 옵션
useNewUrlParser
,useUnifiedTopology
,useFindAndModify
, , , , 입니다.useCreateIndex
는 지원되지 않게 되었습니다. Mongoose 6처럼 합니다.useNewUrlParser
,useUnifiedTopology
, , , , 입니다.useCreateIndex
입니다.또, 「」useFindAndModify
.코드에서 이러한 옵션을 삭제해 주세요.
또한 새로운 버전에는 몇 가지 중요한 변경 사항이 있습니다.
상세한 것에 대하여는, https://mongoosejs.com/docs/migrating_to_6.html#no-more-deprecation-warning-options 를 참조해 주세요.
import mongoose from 'mongoose';
const db = process.env.MONGOURI;
const connectDB = async () => {
try {
console.log(db);
await mongoose.connect(`${db}`, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
console.log('MongoDB connected');
} catch (error) {
console.log(error.message);
process.exit(1);
}
};
export default connectDB;
useNewUrlParser와 useCreateIndex를 코멘트 했을 때 효과가 있었습니다.
usecreateindex 삭제, usefindandmodify 옵션
const URI = process.env.MONGODB_URL;
mongoose.connect(URI, {
useNewUrlParser: true,
useUnifiedTopology: true
}, err => {
if(err) throw err;
console.log('Connected to MongoDB!!!')
})
Mongoose.connect(
DB_URL,
async(err)=>{
if(err) throw err;
console.log("conncted to db")
}
)
const URI = process.env.MONGODB_URL;
mongoose.connect(URI, {
//useCreatendex: true,
//useFindAndModify: false,
useNewUrlParser: true,
useUnifiedTopology: true
}, err => {
if(err) throw err;
console.log('Connected to MongoDB!!!')
})
새로운 mongodb 버전에서는 useCreateIndex: true, useFindAndModify: false, useNewUrlParser: true, useUnifiedTopology: true를 사용할 필요가 없습니다.
//날짜/버전 (08-1989)에서 동작하고 있습니다.
const mongoose = require('mongoose');
var url = "mongodb+srv://username:<password>@cluster0.accdl.mongodb.net/website?
retryWrites=true&w=majority";
mongoose.connect(url, function(err, db) {
if (err) throw err;
console.log("Database created!");
db.close();
});
데이터베이스 연결을 확인하려면 다음과 같이 하십시오.
const mongoose = require("mongoose");
const url = ... /* path of your db */;
//to connect or create our database
mongoose.connect(url, { useUnifiedTopology : true, useNewUrlParser : true , }).then(() => {
console.log("Connection successfull");
}).catch((e) => console.log("No connection"))
useNewUrlParser
,useUnifiedTopology
,useFindAndModify
, , , , 입니다.useCreateIndex
는 지원되지 않게 되었습니다.
기본적으로 그 오브젝트를 삭제하기만 하면 됩니다.
버전 v6에서는 useCreateIndex, useFindAndModify 옵션이 지원되지 않습니다.
try {
await mongoose.connect(process.env.MONGODB_URL, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
console.log("Connect successfully!");
} catch (error) {
console.log("Connect Failure!");
}
const URI = process.env.MONGODB_URL;
mongoose.connect(URI, { useUnifiedTopology: true }
);
const connection = mongoose.connection;
connection.once('open', () => {
console.log("MongoDB database connection established successfully");
} )
나도 같은 실수를 했다."useCreateIndex: true"를 삭제하기만 하면 동작하지만, 처음부터 mongoDB 서비스가 로컬 머신에서 실행되고 있는지 확인합니다.brew services start mongodb-community@5.0 :) #HappyCoding
mongoose.connect(URL,{
}).then(()=>{
console.log('database connected')
}).catch(err=>{
console.log('database not connected',err)
})
같은 경험을 했습니다만, (useFindAndModify: false)와 (useCreateIndex)를 모두 생략한 것이 전부였습니다.그 이유는 mongoose 버전이 이 중 어느 것도 지원하지 않았기 때문입니다.
분명 이게 너에게 효과가 있을 거야.
그asPromise()
연결 방법 Mongoose 연결은 더 이상 사용할 수 없습니다.즉,await mongoose.createConnection(uri)
더 이상 Mongoose가 연결될 때까지 기다리지 않습니다.사용하다mongoose.createConnection(uri).asPromise()
대신.
// 아래는 Mongoose 6에서는 사용할 수 없습니다.
await mongoose.createConnection(uri);
// 대신 실행
await mongoose.createConnection(uri).asPromise();
const Connect(연결)DB = async ( ) = > { try{ const con = wait mongoose . connect("mongodb + srv : // MahmoudReda : 01102306392@cluster0.eqhn13z.mongodb.net /?retryWrites = true&w } ), {useNewUrecomparser: true, ///useNewUrateIndex: true} 콘솔로그 연결이 안정적입니다.
이 코드는 정상적으로 동작하고 있으며 useNewUrlParser 및 useCreateIndex는 지원되지 않습니다.
/* Mongoose Setup */
const PORT = process.env.PORT || 6001;
mongoose.set("strictQuery", false); // answer
mongoose.connect(process.env.MONGO_URL)
.then(() => {
app.listen(PORT, () => console.log(`Server Port:${PORT}`));
})
.catch(error => console.log(`${error} did not connect`));
2021년 10월 27일 캐치하지 않으면 작동하지 않습니다.몽고 인맥에 대한 최신 정보를 얻기 위해 이 글을 올렸습니다.
const uri = process.env.ATLAS_CONNECTION;
mongoose.connect(uri, { useNewUrlParser: true, useUnifiedTopology:
true });
const connection = mongoose.connection;
try{
connection.once('open', () => {
console.log("MongoDB database connection established
successfully");
})
} catch(e) {
console.log(e);
}
function close_connection() {
connection.close();
}
새로운 mongoose 버전에는 이미 디폴트 옵션이 있기 때문에 이 옵션을 삭제하기만 하면 완벽하게 동작합니다.
언급URL : https://stackoverflow.com/questions/68958221/mongoparseerror-options-usecreateindex-usefindandmodify-are-not-supported
'programing' 카테고리의 다른 글
Yarn은 사용 가능한 모든 스크립트를 나열할 수 있습니까? (0) | 2023.03.12 |
---|---|
Oracle 드롭 인덱스(존재하는 경우) (0) | 2023.03.12 |
하나의 파일에서 여러 JSON 개체를 추출하려면 어떻게 해야 합니까? (0) | 2023.03.12 |
JSON 시리얼화 불가 (0) | 2023.03.12 |
Ajax 링크 요청을 보호하는 방법 (0) | 2023.03.12 |