在集合中插入的新文档不会出现在DOM中

时间:2013-06-24 14:05:31

标签: mongodb collections insert meteor document

我正在使用meteor在DOM中插入任务(div)。有一个名为“tasks_lists”的集合存储在本地var ocTasksLists中,因此调用

var oTaskList = new TaskList();
ocTasksLists.insert(oTaskList);
客户端中的

应该在DOM和服务器mongo数据库中包含新的task_list。

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

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

谢谢

1 个答案:

答案 0 :(得分: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条件块内

关于meteor的更多信息允许http://docs.meteor.com/#allow

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

的详情