Javascript 如何在云代码中执行关系查询?
我的课程名为\u User&Photo&PhotoJourney。我想根据某个动作向随机用户发送一张照片。在PhotoTravel类中,我有一个字段Javascript 如何在云代码中执行关系查询?,javascript,parse-platform,Javascript,Parse Platform,我的课程名为\u User&Photo&PhotoJourney。我想根据某个动作向随机用户发送一张照片。在PhotoTravel类中,我有一个字段photo(指针指向photo类)和photoentto(指针指向\u用户类) 我的要求是获得所有用户,不包括照片已发送的用户 var PhotoObj = Parse.Object.extend("Photo"); var photo = new PhotoObj(); photo.id = request.params.photoId; var
photo
(指针指向photo类)和photoentto
(指针指向\u用户类)
我的要求是获得所有用户,不包括照片已发送的用户
var PhotoObj = Parse.Object.extend("Photo");
var photo = new PhotoObj();
photo.id = request.params.photoId;
var Query1 = new Parse.Query("User");
var Query2 = new Parse.Query("PhotoJourney");
Query2.select("photoSentTo");
Query2.equalTo("photoID", photo);
Query1.doesNotMatchKeyInQuery("objectId", "photoSentTo", Query2);
Query1.find({
success: function(results)
{
},
error : function()
{
}
});
如果执行Query2.find()
,它会给出正确的结果。i、 e.我想从\u User表中排除的用户列表,但我不确定如何排除,以及要传递给的参数是什么(“,”,“)
我对云代码开发非常陌生。如果我做错了,请纠正我
提前谢谢。对不起,我实际上不认为你只能通过查询来解决这个问题。我认为你需要这样做:
photocentto
对象,创建用户对象列表
在所有PhotoTravely
对象中(不包括用户)userQuery.notContainedIn("objectId", photo.get("sentToUsers")); // Array of objectIds of receivers
谢谢你的回复。我试过了,但我还是得到了所有的用户。usersToExcludeQuery查询的响应-映射对象数组-{“photoSentTo”:{“uuuU类型”:“指针”,“类名”:“uU用户”,“对象ID”:“cavvHDegMt”},“对象ID”:“ZCfiU5wDa1”,“createdAt”:“2014-05-14T12:39:37.522Z”,“更新日期”:“2014-05-14T12:39:37.522Z”,“uuU类型”:“对象”,“类名”:“PhotoTourney”}响应也包括来自
PhotoTourney
类的字段。这是用户不排除的原因吗?尝试仅执行usersToExcludeQuery,看看是否产生任何结果。如果为空,则不排除任何用户…在执行usersToExcludeQuery
后。它给出2个用户对象。(我总共有5个用户).Response-{“result”:[{“photocentto”:{“指针”,“类名”:“{u用户”,“objectId”:“cavvHDegMt”},“objectId”:“ZCfiU5wDa1”,“createdAt”:“2014-05-14T12:39:37.522Z”,“updatedAt”:“2014-05-14T12:39:37.522Z”;“对象类型”:“对象”,“类名”:“phototojourney”:“phototojourney”;{“photocentto”:“指针”,“类名”:“objectifyNPHRJ1TTK,“createdAt”:“2014-05-15T07:04:31.491Z”,“updatedAt”:“2014-05-15T07:04:44.410Z”,“_utype”:“Object”,“className”:“PhotoJourney”}]}
好的,我想我看到了问题。给我几分钟时间考虑一下。它起作用了。谢谢你的帮助。第二种方法更好,如果我们考虑到用户数量的话。