我创建了一个名为Nodes的集合,并将其定义如下:(位于project / lib中,因此它可以访问客户端和服务器)

Nodes = new Mongo.Collection('nodes');
Nodes.allow({
    insert: function (userId, node) {
        return !!userId;
    }
});

我有一个插入方法位于同一个文件中:

Meteor.methods({
    nodeInsert: function(nodeAttributes) {
        var node = _.extend(nodeAttributes, {
            userId: user._id, author: user.username, submitted: new Date()
        });
        var nodeIdentity = Nodes.insert(node, function(error,result){
            if (error)
            console.log(error);
            if (result)
            console.log(result);
        });
    }
});

但是,控制台上没有记录错误 .

我也在服务器上发布了这个集合:(位于项目/服务器中)

Meteor.publish('nodes', function(){ 
    return Nodes.find();
});

我还在模板中订阅了这个集合,我在其中使用了insert方法:(位于project / lib中,因此它可以访问客户端和服务器)

Router.route('/workflow',{
    waitOn: function () {
        return [Meteor.subscribe('uploads'),Meteor.subscribe('nodes')];
    },
    action: function () {
        if (this.ready())
            this.render('workflow');
        else
            this.render('Loading');
    }
});

最后,这是我从客户端模板调用nodeInsert函数的方法:(位于项目/客户端)

var node = { 
    title: d.title
};
Meteor.call('nodeInsert', node, function(error, result) {
    if (error)
    return throwError(error.reason);
});

节点似乎插入到集合中,但是当我在mongo中使用“show collections”命令时,节点集合没有出现 . 我在插入时也出现内部服务器错误 . 这个错误可能是什么原因?