Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Parse-在云代码中限制查询的结果_Javascript_Parse Platform - Fatal编程技术网

Javascript Parse-在云代码中限制查询的结果

Javascript Parse-在云代码中限制查询的结果,javascript,parse-platform,Javascript,Parse Platform,您好,注释中的这段代码可以用解析云代码吗 Parse.Cloud.beforeFind('Note', function(req) { var query = req.query; var user = req.user; // if a given 'Note' visibility is set to 'Unlisted' // return only the Notes with 'user' field that the calling _User

您好,注释中的这段代码可以用解析云代码吗

Parse.Cloud.beforeFind('Note', function(req) {
    var query = req.query; 
    var user = req.user; 
    // if a given 'Note' visibility is set to 'Unlisted' 
    // return only the Notes with 'user' field that the calling _User 
});
仅显示如何筛选返回的字段,但不完全从云代码中的查询结果中删除项


我知道,这可以通过ACL完成,但需要注意的是,如果请求是一个检索函数,而不是查询,则注释仍应返回

假设您已将用户保存为对象关系(而不是字符串id)。只需添加您需要的资格,例如:

query.equalTo("your_user_pointer_col_on_Note", user)

显然,当最终用户(客户端)在没有此
equalTo
过滤器的情况下执行自己的解析查询时,这不会阻止最终用户检索“未列出”的项。我的目标是防止客户端在不知道“未列出”项的objectId的情况下访问该项。@xybrek-我想我现在明白了,问题是如何处理特定的逻辑,而不是如何修改查询(我回答的是后者)。为了回答前者,请澄清逻辑要求。您是否想要user=caller的未列出的便笺,以及所有“列出”的便笺,无论用户是谁?这是可行的。你可以添加一些关于列出的字段看起来像什么(名称,它是在便笺上还是在用户模型上,它可以接受什么值)以及你在逻辑上的确切含义(如果它与我刚才提出的不同)?便笺有3个视图,公共视图、私有视图和未列出视图,私有视图很简单,只需将ACL设置为用户,就可以了。Public视图也很简单——将ACL设置为Public Read,问题在于未列出,如果ObjectId已知,则必须可以访问它;如果不知道,则不应返回GET查询到
classes/Note
,只应返回公共注释。但是,如上所述,如果已知未列出票据的ObjectId,则应可访问该票据。