gpt4 book ai didi

node.js - setDefaultsOnInsert 不适用于 upsert

转载 作者:行者123 更新时间:2023-12-03 12:19:33 26 4
gpt4 key购买 nike

我正在使用 typegoose 创建一个模式,我在其中定义属性的 default 字段。这意味着如果我没有在 setQuery 中为该字段设置值,它应该在插入时使用架构中的默认值。

这不适用于 updateOne 方法,我将选项设置为 {upsert: true, setDefaultsOnInsert: true}

而如果我使用 create,则默认设置正确。

Mongoose :5.7.14MongoDB:3.2.20 Node :8 typescript :3.8.3打字鹅:5.9.1

最佳答案

它不起作用的原因是因为我明确提到字段值是 undefined

例如。

const updatePayload = {
id: "123",
dob: someObject.dateOfBirth
}

someObject.dateOfBirth 结果未定义。如果我在更新有效负载中没有 dob 键,默认值会起作用。

关于node.js - setDefaultsOnInsert 不适用于 upsert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61443054/

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