Mongoose 的保存回调是如何工作的?
How does Mongoose's save callback work?
对于 MEAN 堆栈,我正在学习 Mongoose 的 save() 函数,它需要一个回调。它的 API states:
Model#save([options], [fn])
Saves this document.
Parameters:
[options] <Object> options set `options.safe` to override [schema's safe option](http://mongoosejs.com//docs/guide.html#safe)
[fn] <Function> optional callback
我怎么知道可选回调中有哪些参数? API只是举例:
product.sold = Date.now();
product.save(function (err, product, numAffected) {
if (err) ..
})
The callback will receive three parameters
err if an error occurred
product which is the saved product
numAffected will be 1 when the document was successfully persisted to MongoDB, otherwise 0.
我认为 API 关于可选回调应该说的如下:
[fn] <Function> optional callback with this structure:
function(err, theDocumentToBeSaved, [isSaveSuccessful])
并且可以像下面这样使用。 注意第二个参数,文档,必须是调用保存的同一个文档。(如果不是这样请告诉我。)
documentFoo.save(function(err, documentFoo, [isSaveSuccessful]){
if(err){ return next(err); }
if (isSaveSuccessful === 1){
// documentFoo has been saved correctly
// do stuff with the saved documentFoo
}
}
如果我的解释是正确的,保存回调参数应该始终如何构造?
save
函数的回调将接受三个参数:
- 错误
- 保存的文档
- 受影响的行数
参数已列出here
Note that the second argument, the document, must be the same document that is calling the save
您可以根据需要命名参数,而不是将其强制转换为对象或类似的东西。它只是一个您想要在函数主体中引用它的名称。
对于 MEAN 堆栈,我正在学习 Mongoose 的 save() 函数,它需要一个回调。它的 API states:
Model#save([options], [fn])
Saves this document.
Parameters:
[options] <Object> options set `options.safe` to override [schema's safe option](http://mongoosejs.com//docs/guide.html#safe)
[fn] <Function> optional callback
我怎么知道可选回调中有哪些参数? API只是举例:
product.sold = Date.now();
product.save(function (err, product, numAffected) {
if (err) ..
})
The callback will receive three parameters
err if an error occurred
product which is the saved product
numAffected will be 1 when the document was successfully persisted to MongoDB, otherwise 0.
我认为 API 关于可选回调应该说的如下:
[fn] <Function> optional callback with this structure:
function(err, theDocumentToBeSaved, [isSaveSuccessful])
并且可以像下面这样使用。 注意第二个参数,文档,必须是调用保存的同一个文档。(如果不是这样请告诉我。)
documentFoo.save(function(err, documentFoo, [isSaveSuccessful]){
if(err){ return next(err); }
if (isSaveSuccessful === 1){
// documentFoo has been saved correctly
// do stuff with the saved documentFoo
}
}
如果我的解释是正确的,保存回调参数应该始终如何构造?
save
函数的回调将接受三个参数:
- 错误
- 保存的文档
- 受影响的行数
参数已列出here
Note that the second argument, the document, must be the same document that is calling the save
您可以根据需要命名参数,而不是将其强制转换为对象或类似的东西。它只是一个您想要在函数主体中引用它的名称。