Mongoose / MongoDB,当同时更新子文档数组时,它更新但找不到后来更新的文档

编程入门 行业动态 更新时间:2024-10-07 12:25:25

Mongoose / MongoDB,当同时更新子<a href=https://www.elefans.com/category/jswz/34/1770955.html style=文档数组时,它更新但找不到后来更新的文档"/>

Mongoose / MongoDB,当同时更新子文档数组时,它更新但找不到后来更新的文档

我有一个包含子文档数组的文档(大小为6),然后我同时删除了5个元素,它完美地更新了数组,但是更新后找不到文档,这里的代码进行更新

await gameRoom.findOneAndUpdate({ 'players._id': currentUser._id }, { $pull: { players: { _id: currentUser._id } } }, { 'new': true },
             (err, docc) => {
                 console.log('currentUser id ' + currentUser._id + ' time ' + new Date().toUTCString());
                 console.log('doc ' + JSON.stringify(docc));
                 if (err) console.log('error at logging out gameRoom.findOne ', '\n ' + err);
                 else if (docc == null) console.log('how it can be null');


        });

和这是结果

currentUser id 5eb285720105534970994c92 time Wed, 06 May 2020 09:38:26 GMT
doc null
how it can be null
currentUser id 5eb2856a0105534970994c89 time Wed, 06 May 2020 09:38:26 GMT
doc null
how it can be null
currentUser id 5eb2856f0105534970994c8f time Wed, 06 May 2020 09:38:26 GMT
doc IsNotNull

currentUser id 5eb2856d0105534970994c8c time Wed, 06 May 2020 09:38:26 GMT
doc null
how it can be null
currentUser id 5eb285750105534970994c96 time Wed, 06 May 2020 09:38:26 GMT
doc IsNotNull

currentUser id 5eb285680105534970994c85 time Wed, 06 May 2020 09:38:30 GMT
doc IsNotNull


所以首先,我从数组中拉出5个元素,然后从结果中我拉出最后一个元素,所有这些都通过update完美地从数组中删除,但是其中一些无法到达docc他们更新了,这怎么可能呢?

回答如下:

{ 'new': true }更改为{ new: true }后,它已修复,如果使用了upsert:true,它似乎也已修复。例如{upsert:true, new: true }

更多推荐

Mongoose / MongoDB,当同时更新子文档数组时,它更新但找不到后来更新的文档

本文发布于:2024-05-07 07:48:10,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755234.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文档   找不到   数组   Mongoose   MongoDB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!