Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确定文档是新的还是存在于mongoose Post中间件中';s';保存';?_Mongoose - Fatal编程技术网

确定文档是新的还是存在于mongoose Post中间件中';s';保存';?

确定文档是新的还是存在于mongoose Post中间件中';s';保存';?,mongoose,Mongoose,从文件: schema.post('save', function (doc) { console.log('%s has been saved', doc._id); }) 有没有办法确定这是原始保存还是现有文档的保存(更新) 编辑:有关文档的信息,请参见#isNew isNew是猫鼬内部使用的密钥。将该值保存到pre-save钩子中文档的wasNew,可以让post-save钩子知道这是现有文档还是新创建的文档。此外,wasNew不会提交到文档中,除非您专门将其添加到架构中 schem

从文件:

schema.post('save', function (doc) {
  console.log('%s has been saved', doc._id);
})
有没有办法确定这是原始保存还是现有文档的保存(更新)

编辑:有关文档的信息,请参见#isNew

isNew
是猫鼬内部使用的密钥。将该值保存到pre-save钩子中文档的
wasNew
,可以让post-save钩子知道这是现有文档还是新创建的文档。此外,
wasNew
不会提交到文档中,除非您专门将其添加到架构中

schema.post('save')
不再识别更新事件。因此,不妨采取以下措施:

schema.post('save', function () {
    console.log('New object has been created.');
});

@jysperm您的评论让我感到困惑,因为示例同时使用了
wasNew
isNew
。。。那么什么变成了什么呢?这根本不是真的,这个答案应该被删除Mongoose以其出色的文档而闻名。
schema.post('save', function () {
    console.log('New object has been created.');
});