1

我有一个带有以下猫鼬模式的服务(我还没有附加任何钩子):

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const restaurantSchema = new Schema({
  text: { type: String, required: true }
}, { timestamps: true });

const restaurantModel = mongoose.model('restaurant', restaurantSchema);

module.exports = restaurantModel;

问题是:每当我发送 PUT 请求时,两者都会从我的对象createdAtupdatedAt消失。

不应该timestamps: true让猫鼬保留时间戳并更新 的值updatedAt吗?

4

1 回答 1

1

正如 Daff所说,这只是 PUT 的预期行为。阅读 repo,我发现导致这种行为的原因是overwrite选项。默认设置为true ,导致更新完全替换当前对象,不留下时间戳。

我真的应该使用 PATCH 仅更新某些字段并保留时间戳。

于 2016-09-21T04:59:48.373 回答