parse notification node docs javascript sql cloud parse.com

javascript - notification - parse server



Sintaxis de consulta relacional de Parse Cloud Code (3)

Tengo una función de nube en Parse . Cuando se llama, recupera un PFObject luego agrega una relación entre ese objeto y el usuario. Esta parte funciona bien (vista hacia el final de la función). Tengo problemas para que la consulta que selecciona el PFObject ignore aquellos con los que el usuario ya está relacionado

Aquí está mi código:

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"); } }); });

Estoy seguro de que no entiendo cómo funciona la sintaxis de consulta de relación.


¿Qué pasa con las Restricciones de consulta ?

Si desea recuperar objetos que no coinciden con ninguno de varios valores, puede usar notContainedIn

// Finds objects from anyone who is neither Jonathan, Dario, nor Shawn query.notContainedIn("playerName", ["Jonathan Walsh", "Dario Wunsch", "Shawn Simon"]);



Este estiramiento:

// 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);

Podría ser cambiado a:

// Also only fetch if never been sent before query.notContainedIn("sentTo",[Parse.User.current()])

Eso funciona. Consulta Parse