Open
Description
New Issue Checklist
- I am not disclosing a vulnerability.
- I am not just asking a question.
- I have searched through existing issues.
- I can reproduce the issue with the latest version of Parse Server and the Parse PHP SDK.
We're not running the latest Parse server version, hence I haven't checked the last item above.
Issue Description
The fix for equalTo
in 2.3.1 broke queries on array values.
Steps to reproduce
For example, to fetch all roles for a specific user:
$query = ParseUser::query();
$parseUser = $query->get("someUserId", true);
$query = ParseRole::query();
$query->equalTo("users", $parseUser);
$parseRoles = $query->find(true);
Actual Outcome
In previous versions, the query sent to Parse would look like:
{
"users": {
"__type": "Pointer",
"className": "_User",
"objectId": "someUserId"
}
}
Which would give us the roles for that user back.
Expected Outcome
In 2.3.1 the query became:
{
"where": {
"users": {
"$eq": {
"__type": "Pointer",
"className": "_User",
"objectId":"someUserId"
}
}
}
}
Which does not give any roles back. users
on _Role
is an array with a single user in our case.
Environment
Parse PHP SDK
- SDK version: 2.3.2
- PHP version: 8.2.6
Server
- Parse Server version: 4.3.0
- Operating system: Debian
- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): AWS
Database
- System (MongoDB or Postgres): MongoDB
- Database version: 3.6
- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): AWS