3

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

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

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

Mongoose:5.7.14 MongoDB:3.2.20 节点:8 Typescript:3.8.3 Typegoose:5.9.1

4

1 回答 1

1

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

例如。

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

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

于 2020-07-22T07:39:32.600 回答