两个数据模型关联的时候出错了,不知道问题出在那里,望解答。谢谢
回复 (25)
M
oklm
M
C
https://github.com/Automattic/mongoose/issues/1961#event-242694964
你可以看下这个issues,目测是mongoose的一个坑
M
引用 CodeofGame解决了 这里需要把Document转换成js的普通对象再push,应该就可以了
@CodeofGame 恩,果然是那样,不过我还是没理解到。 我typeof了下 console.log('typeof newCar', typeof newCar); ==>object console.log('typeof newCar.toObject', typeof (newCar.toObject()));==>object 都是object
C
解决了
user.cars.push(newCar.toObject());
这里需要把Document转换成js的普通对象再push,应该就可以了
C
@miuqiang 我再检查检查啊
M
C
我的天,我总算重现这个问题了,第一次调用接口会报错,之后就不会报了!
M
C
你看看是不是mongoose版本的问题
C
没有报错
C
@miuqiang
你说的是这样吗,我跑起来确实没问题!!!
M
C
你看 没问题,所以不是上边说的循环引用的问题
M
C
我刚才把你的代码跑起来了 没出现问题啊。。。。。好尴尬
M
M
H
贴上一部分你的代码,你不觉得有问题么 newUser: async (req, res, next) => { try { const newUser = new User(req.body); const user = await newUser.save(); res.status(201).json(user); } catch (err) { next(err); } }
C
你把代码发我邮箱吧,[email protected],我给你看看
M
引用 CodeofGame能看下request.body里的内容吗,我刚才用你这个代码,试了一下,没有报错!
@CodeofGame 我把代码贴上去了,你看下呢 https://github.com/miuqiang/express
M
引用 CodeofGame能看下request.body里的内容吗,我刚才用你这个代码,试了一下,没有报错!
@CodeofGame { "make": "BMW", "model": "X6", "year": "2018" }
C
能看下request.body里的内容吗,我刚才用你这个代码,试了一下,没有报错!
W
互相引用了
S
user和car互相引用了
参与回复
登录后即可参与回复。登录