Mongoose - 发布更新无法访问此内容

时间:2018-01-22 10:57:37

标签: node.js mongoose

我正在使用mongoose和中间件,当我尝试访问它时。任何模型中的_id都是未定义的

Set-ADUser : A parameter cannot be found that matches parameter name 'Name'.
At line:1 char:28
+ Set-ADUser -Identity test1 -Name Test 11
+                            ~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Set-ADUser], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser

任何想法为什么?

我的架构

ClientSchema.post('update', function() {
  console.log(this._id);
});

3 个答案:

答案 0 :(得分:1)

试试这个:

ClientSchema.post('update', function() {
   const document = this.getUpdate();
   console.log(document.id); ///working
});

答案 1 :(得分:0)

结果应作为参数传递给回调函数,如此

ClientSchema.post('update', function(res) {
  console.log(res._id);
});

你也可以使用promises,这样你就可以捕获可能发生的错误

ClientSchema.post('update').then(function(res) {
   console.log(res._id)
}).catch(function(err) {
   console.error(err);
});

答案 2 :(得分:0)

看看这里:https://github.com/Automattic/mongoose/issues/3051

应该工作:

ClientSchema.post('update', function(client) {
   console.log(client._id);
});