跳到主要内容
CNode

express+mongodb,两个数据模型关联的时候出错了

问答
Mmiuqiang发布于 8 年前最后回复 8 年前
2549990

两个数据模型关联的时候出错了,不知道问题出在那里,望解答。谢谢 alt text alt text

查看回复

回复 (25)

M
meng666666#258 年前

oklm

C
CodeofGame#238 年前

https://github.com/Automattic/mongoose/issues/1961#event-242694964 你可以看下这个issues,目测是mongoose的一个坑 image.png

M
miuqiang#228 年前
引用 CodeofGame解决了 这里需要把Document转换成js的普通对象再push,应该就可以了

@CodeofGame 恩,果然是那样,不过我还是没理解到。 我typeof了下 console.log('typeof newCar', typeof newCar); ==>object console.log('typeof newCar.toObject', typeof (newCar.toObject()));==>object 都是object

C
CodeofGame#218 年前

解决了

 user.cars.push(newCar.toObject());

这里需要把Document转换成js的普通对象再push,应该就可以了

C
CodeofGame#208 年前

@miuqiang 我再检查检查啊

C
CodeofGame#188 年前

我的天,我总算重现这个问题了,第一次调用接口会报错,之后就不会报了!

M
miuqiang#178 年前
引用 CodeofGame你看看是不是mongoose版本的问题

@CodeofGame 你是那个版本

C
CodeofGame#168 年前

你看看是不是mongoose版本的问题

C
CodeofGame#158 年前

没有报错

C
CodeofGame#148 年前

@miuqiang image.png 你说的是这样吗,我跑起来确实没问题!!!

M
miuqiang#138 年前
引用 CodeofGame你看 没问题,所以不是上边说的循环引用的问题

@CodeofGame 有问题吧,具体的car都没有存起来,按理说应该是这样的。

alt text

C
CodeofGame#128 年前

image.png 你看 没问题,所以不是上边说的循环引用的问题

C
CodeofGame#108 年前

我刚才把你的代码跑起来了 没出现问题啊。。。。。好尴尬

H
hewentaowx#78 年前

贴上一部分你的代码,你不觉得有问题么 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
CodeofGame#68 年前

你把代码发我邮箱吧,[email protected],我给你看看

C
CodeofGame#38 年前

能看下request.body里的内容吗,我刚才用你这个代码,试了一下,没有报错!

W
wangchaoduo#28 年前

互相引用了

S
samuelben#18 年前

user和car互相引用了

参与回复

登录后即可参与回复。登录