在 Mongoose 中,Date
模式类型正是我想要的,除了一件事:在 javascript 端(在 mongodb 中没有)它获取/设置 Date
字段值的实例。
是否有一个选项或其他模式类型,这将允许它设置/获取 number
标量类型(就像我在做 const val = Number(doc.dateField)
),同时仍将其作为 mongodb 中的 ISODate
保留?
我开始为此创建一个自定义 Mongoose 模式类型,但如果有一个原生 Mongoose 选项/类型,我会更喜欢。
更新 - 这是一个显示我想要的代码示例:
const docSchema = new Schema({dateField: Date}})
const Doc = mongoose.model('Doc', docSchema)
// ...
const doc = Doc.findOne(...)
typeof doc.dateField // I want this to be number, without conversion from my side
最佳答案
为架构中的dateField
添加get
和set
const docSchema = new Schema({
dateField: {
type: Date,
get: (value: Date) => {
return value.getTime();
},
set: (value: number) => {
return new Date(value);
}
}
})
关于javascript - 有没有办法让 Mongoose 在 JS 端将 `Date` 类型转换为数字(时间戳)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52961108/