gpt4 book ai didi

node.js - Mongo/Mongoose Invalid atomic update value 错误

转载 作者:IT老高 更新时间:2023-10-28 13:13:19 25 4
gpt4 key购买 nike

我正在尝试使用 Mongoose findOneAndUpdate 函数编写对 Mongo 文档的更新。本质上,我有一个文档,其中包含另一个模式的数组,当我尝试附加更多这些模式类型时,我收到以下错误:

[Error: Invalid atomic update value for $__. Expected an object, received object]

我很难弄清楚这个错误的含义,更不用说它的来源了。

我正在尝试更新的数据如下:

{ section_id: 51e427ac550dabbb0900000d,
version_id: 7,
last_editor_id: 51ca0c4b5b0669307000000e,
changelog: 'Added modules via merge function.',
committed: true,
_id: 51e45c559b85903d0f00000a,
__v: 0,
modules:
[ { orderId: 0,
type: 'test',
tags: [],
data: [],
images: [],
content: ["Some Content Here"] },
{ orderId: 1,
type: 'test',
tags: [],
data: [],
images: [],
content: ["Some Content Here"] },
{ orderId: 2,
type: 'test',
tags: [],
data: [],
images: [],
content: ["Some Content Here"] },
{ orderId: 3,
type: 'test',
tags: [],
data: [],
images: [],
content: ["Some Content Here"] },
{ orderId: 4,
type: 'test',
tags: [],
data: [],
images: [],
content: ["Some Content Here"] },
{ orderId: 5,
type: 'test',
tags: [],
data: [],
images: [],
content: ["Some Content Here"] } ] }

唯一的区别是,当我检索它时,模块少了三个,我将一些新的模块添加到数组中。

很想听听任何想法,至少关于错误的含义!

最佳答案

这可能是因为更新的对象仍然是 Mongoose 对象。尝试在 findOneAndUpdate

之前将其转换为 JS 对象
object = object.toString()

并删除任何潜在的 ID 属性

delete object._id

或者干脆

object = object.toObject();

关于node.js - Mongo/Mongoose Invalid atomic update value 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17663705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com