2013-06-24 33 views
0

我正在使用meteor在DOM中插入任务(div)。有一个叫存储在本地变量ocTasksLists“tasks_lists”在客户端,以便调用在集合中插入新文档不会出现在DOM中

var oTaskList = new TaskList(); 
ocTasksLists.insert(oTaskList); 

集合,应包括在这两个DOM和服务器蒙戈数据库的新task_list。

首先,它被包含在DOM中,并在几毫秒之后,它从DOM中消失。我找不到问题的原因。该文档被插入到服务器mognodb中,如果我刷新页面(F5),那么它确实出现在DOM中。服务器中的插入允许规则总是返回true。

更改或删除tasks_lists时没有任何问题。

谢谢

+1

什么是TaskList?如果你想使用Meteor反应并且按照它的意图,你可能应该使用Meteor.Collection而不是你自己的类。 –

+0

什么是在你的JavaScript控制台发生这种情况? – Akshat

+0

你使用一些陨石模型包吗?否则,你正在按照Andrew Mao指出的那样做错误的收藏创作。 –

回答

0

您必须在服务器上添加一个Collection.allow规则,就是发生最有可能你删除的不安全包装,因此需要对每个数据库操作即插入,更新,删除明确的规则。

oTaskList = new Meteor.Collection("tasklist"); 

oTaskList.allow({ 
insert: function (userId, doc) { 
    return userId === doc.user_id; 
}, 
update: function (userId, doc) { 
    console.log(EJSON.stringify(doc)); 
    return userId === doc.user_id; 
} 
}); 

此代码应只或无论是把它在/server目录在您的应用程序或Meteor.isServer条件块内部的服务器上运行

更多关于流星允许http://docs.meteor.com/#allow

更多的代码运行仅在服务器上http://docs.meteor.com/#meteor_isserver

相关问题