Ho una funzione cloud su Parse. Quando viene chiamato recupera un PFObject
quindi aggiunge una relazione tra tale oggetto e l'utente. Questa parte funziona bene (visto verso la fine della funzione). Sto avendo difficoltà a raggiungere la query che seleziona il PFObject
di ignorare quelli che l'utente è già legato allaSintassi della query relazionale di Parse Cloud Code
Ecco il mio codice:
Parse.Cloud.define("NextMedia", function (request, response) {
var LikeRequest = Parse.Object.extend("LikeRequest");
var query = new Parse.Query(LikeRequest);
query.equalTo("completed", false);
console.log("user: " + Parse.User.current().id);
query.notEqualTo("user", Parse.User.current());
// Also only fetch if never been sent before
// HERE SHOULD USE THE BELOW RELATIONSHIP
var innerQuery = new Parse.Query(Parse.User);
innerQuery.exists(Parse.User);
query.matchesQuery("sentTo", innerQuery);
query.ascending("createdAt");
query.first({
success: function (object) {
// Successfully retrieved the object.
console.log("Got 1 object: " + object.get('mediaId'));
// Record that the user has been sent it
var user = Parse.User.current();
var relation = object.relation("sentTo"); // RELATION ADDED HERE
relation.add(user);
object.save();
response.success(object);
},
error: function (error) {
console.log("Error: " + error.code + " " + error.message);
response.error("Error getting next mediaId");
}
});
});
Sono sicuro che io non sono solo capire come la sintassi della query di relazione funziona.
Nella classe LikeRequest hai una colonna utente? Non sto capendo query.notEqualTo ("utente", Parse.User.current()); – bmurmistro
Nella sezione inferiore in cui viene aggiunta la relazione, viene aggiunta una colonna molti a molti utenti. – Darren
Ci scusiamo per la risposta ritardata. Hai provato qualcosa del genere: var innerQuery = LikeRequest.relation ("sendTo"). Query(); innerQuery.exists (Parse.User); – bmurmistro