Meteor JS中collection.allow的技术指南?
我需要知道Meteor JS中collection.allow()的技术含义。我已经学习了Meteor文档,但没有正确理解。因此,请您使用下面的代码解释下面的术语Meteor JS中collection.allow的技术指南?,meteor,Meteor,我需要知道Meteor JS中collection.allow()的技术含义。我已经学习了Meteor文档,但没有正确理解。因此,请您使用下面的代码解释下面的术语 医生是什么 如何检查Posts.allow()是否返回true/false 单击按钮时如何调用以下方法,如插入、更新和删除 如何在Meteor JS中使用以下方法编写插入、更新和删除查询 如何检查多个人是否允许插入、更新和删除查询 你能给我一些关于上述事情的建议吗 Posts = new Meteor.Collection
- 医生是什么
- 如何检查Posts.allow()是否返回true/false
- 单击按钮时如何调用以下方法,如插入、更新和删除
- 如何在Meteor JS中使用以下方法编写插入、更新和删除查询
- 如何检查多个人是否允许插入、更新和删除查询
Posts = new Meteor.Collection("posts");
Posts.allow({
insert: function (userId, doc) {
// the user must be logged in, and the document must be owned by the user
return (userId && doc.owner === userId);
},
update: function (userId, doc, fields, modifier) {
// can only change your own documents
return doc.owner === userId;
},
remove: function (userId, doc) {
// can only remove your own documents
return doc.owner === userId;
},
fetch: ['owner']
});
这些方法用于验证客户端请求的插入/更新/删除。如果客户端调用
Posts.insert(somePost)
。服务器将使用Posts。允许验证是否确实可以执行此操作。要直接回答您的问题:
what is the doc?
这些方法中的doc
是客户端传入的文档。在我上面的例子中,它将是somePost
How to check Posts.allow() is return true/false?
Posts.allow()将检查用户是否可以插入帖子,如果可以,则返回true
;如果不能,则返回false
(这是您的责任)。在您的示例中,必须有一个有效的userId,并且文档的所有者必须是当前登录的用户。由于您的doc
是一个JSON对象,因此在本例中它必须有一个owners
字段。如果您总是返回false,那么任何客户端都无法创建帖子。如果您总是返回true,那么任何插入帖子的请求都将被接受
How to call the below methods like insert,update & remove when ever clicks a button?
实际上,您从未直接调用这些方法。当客户机试图插入/更新/删除帖子时,会为您调用它们
How to write queries to insert, update & remove using the below methods in Meteor JS?
同样,您实际上从未直接调用这些函数,但是当您执行Posts.insert(somePost)
时,它将自动尝试根据insert
allow方法进行验证。如果收到true
则插入post。如果它收到一个false
,它将抛出一个异常
How to check more than one person allows to insert,update & remove queries?
不完全确定您的意思,但如果您有两个人登录,并且他们都试图插入帖子,您可以在方法中的userId
字段中唯一地验证他们
更新:
我将详细说明你的评论问题。文档对象上只有一个owner属性。传入的文档可能如下所示(简化):
因此,doc.owner
会给你文档的所有者id。然后你可以将它与传入的userId
进行比较,看看他们是否是同一个人。你能给我一些关于doc.owner的建议吗@Firo@Venkat看看我的编辑/更新!
doc = {
"name":"My Important Document",
"description": "This is a great document.",
"createdOn": 1394043417621,
"owner": b8QsgX3awg7E9DMKs
}