用node.js连接mongodb报错,,不知道啥意思,,求助各位大佬
(node:24276) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): CastError: Cast to ObjectId failed for value "53" at path "_id" for model "User"
我在代码中 也有定义这个表 :
module.exports = moogoose.model('User', userSchemas);
具体情况不知道怎么解决,但是把node相关的操作贴出来吧,
要管理数据库,必须先开机,开机使用mongod --dbpath c:\mongo(具体mongo的路径)
管理数据库:mongo (一定要在新的cmd中输入)
注意,出错了一定要重新连接,
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/myapp', {
useMongoClient: true,
/* other options */
})
app.listen(8081);
连接代码 就是这个
@恍若星辰: mongoose.connect('mongodb://localhost/movie',{useMongoClient:true},function (err) { if(err){ console.log(err); }else{ console.log("数据库连接成功!"); app.listen(8081); } });打印错误,我之前用的是可视化mongodb,然后使用命令行开启mongo服务的
@菜鸟青青: 我这边按你写的结果一样,也是报这个错误,我这边使用 cmd mongod --dbpath ,数据库能连接成功,就是一直报这个User的_id的问题,,
@恍若星辰: 是不是id的类型不合法,或者mongoose版本问题,将版本更新到4.7.2以上
@菜鸟青青: 我这边在node里面定义表,, id的话应该是我注册之后,才会在表里面新建数据和id。下面是我建表的代码。。。moogoose版本是4.10.2
module.exports = new moogoose.Schema({
username: String,
password: String,
isAdmin: {
type: Boolean,
default: false
}
});
module.exports = moogoose.model('User', userSchemas);
@菜鸟青青: 我下了个可视化工具,,按我这个建表代码的话,,表会建在上面那个admin还是local里面
@恍若星辰: 这个可以自己创建表的名称啊,等我给你发个常规操作,
@恍若星辰:
@菜鸟青青: 我这边是用Robo 3T,,也能直接建个表,,但还是一运行就报错,,你有没有推荐的文档啥的,,最近自己学node的相关操作,,感觉好费劲
@恍若星辰: 我是自己做项目时,总结的,当时是老师带着我们做的,所以我也没有看过比较好的文档