Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Node.js 扩展MongoDB';s";“保存”;nodejs中的方法_Node.js_Mongoose_Cache Control_Node Mongodb Native - Fatal编程技术网

Node.js 扩展MongoDB';s";“保存”;nodejs中的方法

Node.js 扩展MongoDB';s";“保存”;nodejs中的方法,node.js,mongoose,cache-control,node-mongodb-native,Node.js,Mongoose,Cache Control,Node Mongodb Native,在我们的应用程序中,我们有一个大文档,它是RESTAPI的大部分数据的来源 为了正确地使RESTAPI的客户端缓存无效,我想跟踪对文档所做的任何修改。我们想出的最好办法是扩展mongo save命令,以便文档发送通知(然后像往常一样保存) 问题是,在实践中如何做到这一点?有没有直接的方法来扩展mongo的“save”方法,或者我们应该在我们使用的模型上创建一个自定义方法(即“saveAndNotify”)(如果可以的话,我会避免使用) [编辑] 因此,原则上,我希望这样做,但在不关闭父save函

在我们的应用程序中,我们有一个大文档,它是RESTAPI的大部分数据的来源

为了正确地使RESTAPI的客户端缓存无效,我想跟踪对文档所做的任何修改。我们想出的最好办法是扩展mongo save命令,以便文档发送通知(然后像往常一样保存)

问题是,在实践中如何做到这一点?有没有直接的方法来扩展mongo的“save”方法,或者我们应该在我们使用的模型上创建一个自定义方法(即“saveAndNotify”)(如果可以的话,我会避免使用)

[编辑] 因此,原则上,我希望这样做,但在不关闭父save函数()时遇到了一个问题


Monkey修补核心mongo对象是个坏主意,但事实证明Mongoose有一个概念可以很好地处理这个问题:

var schema = new Schema(..);
schema.pre('save', function (next) {
  // do stuff
  next();
});
var schema = new Schema(..);
schema.pre('save', function (next) {
  // do stuff
  next();
});