gpt4 book ai didi

meteor - 钩子(Hook)之前的集合被调用了两次

转载 作者:行者123 更新时间:2023-12-01 02:11:17 26 4
gpt4 key购买 nike

我正在使用 matb33:collection-hooks

我很难理解为什么versions.insert 被调用一次(只显示一个控制台日志),但是在versions 集合中插入了2 strip 有2 个不同_id 的记录。

Requirements = new Meteor.Collection('requirements');
var versions = new Meteor.Collection('requirements_versions');

Requirements.before.update(function(userId, doc, fieldNames, modifier, options) {

// copy doc to versions collection
var savedDoc = _.extend({}, doc); // shallow copy
if(typeof(savedDoc._id) != 'undefined') delete savedDoc._id;

console.log(versions.insert(savedDoc)); // FIXME: why inserted 2 times ???
});

如果我在钩子(Hook)的末尾添加一个return false,则记录只插入一次,但当然不会调用原始需求更新。

最佳答案

您可以通过省略 _id 来做到这一点。

const versions = new Meteor.Collection('requirements_versions'); 
const Requirements = new Meteor.Collection('requirements');

if (Meteor.isServer) {
Requirements.before.update(function(userId, doc, fieldNames, modifier, options) {

// insert version doc
versions.insert(_.omit(doc, '_id'));
});
}

关于meteor - 钩子(Hook)之前的集合被调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29092731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com