尝试将MongoDB文档“获取弃用警告”更新为
(节点:71307)[DEP0079]弃用警告:定制检查功能 通过.inspect()在对象上使用
节点版本v10.5.0, 数据库版本v3.6.5, 猫鼬版本mongoose@4.1.12
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!');
}
});
}
});
答案 0 :(得分:10)
您不必担心此错误,这是猫鼬警告。实际上,猫鼬使用inspect()调试输出。他们将更新它可能在节点12.x之前。目前,可以安全使用它。
不用担心。
DEP0079:通过.inspect()#对对象的自定义检查功能类型: 运行时
在对象上使用名为inspect的属性来指定自定义 不推荐使用util.inspect()的检查功能。采用 改为使用util.inspect.custom。为了与Node.js向后兼容 在6.4.0之前的版本中,都可以同时指定。
如果您想了解更多详细信息,请参阅此。这正在进行中。警告将出现在节点10
答案 1 :(得分:5)
为了不获取弃用消息,您可以根据此Github mongoose issue升级到猫鼬版本5.2.10或更高版本,并在代码中的适当位置设置以下内容:
<ul class="mainnav">
<li class="mainnav__item">
<a class="mainnav__link" href="#">Short</a>
</li>
<li class="mainnav__item">
<a class="mainnav__link" href="#">Looooooooooooooong</a>
</li>
<li class="mainnav__item">
<a class="mainnav__link" href="#">Mediuuum</a>
</li>
<li class="mainnav__item">
<a class="mainnav__link" href="#">whatever else</a>
</li>
</ul>
答案 2 :(得分:3)
升级到5.2.10并设置
mongoose.set('useCreateIndex', true);
答案 3 :(得分:3)
另一种设置方法是...
mongoose.connect(
"mongodb://<user>:<password>@<url>",
{
useNewUrlParser: true,
useCreateIndex: true
}
)
更多信息可以在这里找到:https://github.com/Automattic/mongoose/issues/6890
答案 4 :(得分:2)
要解决此问题,必须使用useNewUrlParser和useCreateIndex。请参见下面的代码。
mongoose.connect(
config.databaseUrl,
{
useNewUrlParser: true,
useCreateIndex: true
}
)
或
mongoose.set("useCreateIndex", true);
mongoose.connect(
config.databaseUrl,
{
useNewUrlParser: true
}
);
答案 5 :(得分:2)
您应该将选项useCreateIndex
添加到连接方法
mongoose.connect(keys.mongoURI, {
useNewUrlParser: true,
useCreateIndex: true,
})
答案 6 :(得分:1)
完全随机,但至少不是模仿者的答案:我不小心使用<View style={styles.button} key={"r" + i + "c" + j}>
<Text>{row[j]}</Text>
</View>
而不是Model.find()
所以我的错误代码看起来像这样
Model.findOne()
...对于一个普通的对象/数组,它会因User.find(query)
.then(user => {
console.log(user.emailSettings.confirmToken)
})
而失败,但显然对于mongo文档数组,它会执行检查任务,并给出此弃用警告。
答案 7 :(得分:1)
我想添加到该线程中,它可能也与其他依赖项有关。
例如,我没有为NodeJS,MongoDB或Mongoose更新或设置任何问题,但是-我的问题是connect-mongodb-session
已更新并开始出现相同的错误。在这种情况下,解决方案是将connect-mongodb-session
的版本从版本2.3.0
回退到2.2.0
。
答案 8 :(得分:0)
mongoose.connect(process.env.CONNECTION_MONGO, {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false,
})
.then(() => {
console.log("Database connected...");
})
.catch((err) => console.error(err));