mongoose create() 和 save()的问题

来源:6-12 登录注册-cookie保存登录状态

慕名小白

2018-07-11

蜗牛老师,我这里有一个疑问:

在课程中说:注册逻辑的时候,保存用户数据,不能用create(),要用save(),因为create没法获取用户的_id,生成之后才有,但是我也测试了一下create()方法,是可以获取到_id的,然后存储cookie也能实现和save()一样的效果

//img.mukewang.com/szimg/5b45ab11000191db12420426.jpg

这是打印的结果:

//img.mukewang.com/szimg/5b45ab5700013d6b07900176.jpg

这是控制台的效果:

//img.mukewang.com/szimg/5b45abbb0001e06c18800688.jpg

刷新页面也不会跳转了,这就搞的我有点糊涂,我从网上查,两个的区别:

Model.create()内部调用了<model_instance>.save()方法,并且做了一些额外的封装。

两者主要的区别在于:

- Model.create()可以同时保存一组文档。

- <instance>.save()只针对当前文档实例。

但是我还是不怎么明白?

然后查看mongoose的文档说是:_id在new一个模型的时候就已经生成了,那也就是说在调用save()和create()的时候应该_id都存在了吧

写回答

1回答

慕瓜8449030

2018-08-31

你好,我当时是测试代码的时候,create是没获取到,我就用了save,晚点我再测试下,写个手记总结一下这个吧

0
0

Redux+React Router+Node.js全栈开发

全网唯一的React 16+Redux+React Router4实战课程,学到手是你的真本领!

1822 学习 · 750 问题

查看课程