MongoDBドキュメントの更新をお試しください
(ノード:71307)[DEP0079] DeprecationWarning:.inspect()によるオブジェクトのカスタム検査機能は廃止されました
ノードバージョンv10.5.0、dbバージョンv3.6.5、Mongooseバージョン[email protected]
Campground.findById(campgroundId, function(err, campground){
if(err){
console.log(err);
} else {
console.log(campground.celebrity);
Celebrity.create(celebrityData, function(err, celebrity){
if(err){
console.log(err);
} else {
//save comment
celebrity.save();
campground.celebrity.Push(celebrity);
campground.save();
console.log(celebrity);
//req.flash('success', 'Created a comment!');
}
});
}
});
このエラーを心配する必要はありません。これはmongooseの警告です。実際には、Mongooseはinspect()を使用してoutputをデバッグします。ノード12.xの前に更新される可能性があります。今のところ、これを使用しても安全です。
心配する必要はありません。
この情報を確認してください。 https://nodejs.org/api/deprecations.html#deprecations_dep0079_custom_inspection_function_on_objects_via_inspect
DEP0079:.inspect()#タイプを介したオブジェクトのカスタム検査機能タイプ:ランタイム
オブジェクトでinspectという名前のプロパティを使用してutil.inspect()のカスタム検査関数を指定することは非推奨です。代わりにutil.inspect.customを使用してください。バージョン6.4.0より前のNode.jsとの後方互換性のために、両方を指定できます。
詳細が必要な場合は、こちらをご覧ください。これは進行中です。ノード10に警告が表示されます
非推奨メッセージを取得しないために、これに応じてmongooseバージョン5.2.10以降にアップグレードすることができます Github mongoose issue と、コード内の適切な場所で以下を設定します:
mongoose.set('useCreateIndex', true)
5.2.10にアップグレードして設定する
mongoose.set('useCreateIndex', true);
それを設定する別の方法は...
mongoose.connect(
"mongodb://<user>:<password>@<url>",
{
useNewUrlParser: true,
useCreateIndex: true
}
)
詳細については、こちらをご覧ください: https://github.com/Automattic/mongoose/issues/689
この問題を解決するには、useNewUrlParserとuseCreateIndexを使用する必要があります。以下のコードを参照してください。
mongoose.connect(
config.databaseUrl,
{
useNewUrlParser: true,
useCreateIndex: true
}
)
または
mongoose.set("useCreateIndex", true);
mongoose.connect(
config.databaseUrl,
{
useNewUrlParser: true
}
);
オプションuseCreateIndex
を接続メソッドに追加する必要があります
mongoose.connect(keys.mongoURI, {
useNewUrlParser: true,
useCreateIndex: true,
})
完全にランダムですが、少なくとも模倣の答えではありません:誤ってModel.find()
の代わりにModel.findOne()
を使用したときに、この非推奨警告(および予期しない動作)が発生していました
私の誤ったコードはこのように見えました
User.find(query)
.then(user => {
console.log(user.emailSettings.confirmToken)
})
...通常のオブジェクト/配列では、これはTypeError: Cannot read property 'confirmToken' of undefined
で失敗しますが、mongo文書配列ではどうやらこの検査を行い、この非推奨警告を表示します。