Meteor集合未显示在Mongo节目集合中

时间:2015-07-31 01:10:40

标签: javascript mongodb meteor

我创建了一个名为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);
});

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

0 个答案:

没有答案