Hi fellow appwrite community,
I am getting an Invalid queries error when using the listDocuments function in a node.js function.
The function I use has the following code:
const sdk = require("node-appwrite");
const { databaseId, eventsCollectionId } = require("./constants");
module.exports = async function (req, res) {
const client = new sdk.Client();
const database = new sdk.Databases(client);
if (
!req.variables['APPWRITE_FUNCTION_ENDPOINT'] ||
!req.variables['APPWRITE_FUNCTION_PROJECT_ID'] ||
!req.variables['APPWRITE_FUNCTION_API_KEY']
) {
console.info("Environment variables are not set. Function cannot use Appwrite SDK. Exiting.");
res.send("Environment variables are not set.", 401);
return;
} else {
client
.setEndpoint(req.variables['APPWRITE_FUNCTION_ENDPOINT'])
.setProject(req.variables['APPWRITE_FUNCTION_PROJECT_ID'])
.setKey(req.variables['APPWRITE_FUNCTION_API_KEY'])
.setSelfSigned(true);
}
if (!req.variables['APPWRITE_FUNCTION_USER_ID']) {
console.info("UserId is not set.");
res.send("UserId is not set.", 401);
return;
}
let userId = req.variables['APPWRITE_FUNCTION_USER_ID']
await database.listDocuments(databaseId, eventsCollectionId, sdk.Query.equal("ownerId", userId))
.then((value) => console.info(value.documents.pop()));
};
This is the error that gets thrown in Appwrite:
Error: Invalid queries: Value must a valid array and Value must be a valid string and no longer than 4096 chars
at Client.call (/usr/code-start/node_modules/node-appwrite/lib/client.js:171:31)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Databases.listDocuments (/usr/code-start/node_modules/node-appwrite/lib/services/databases.js:1002:16)
at async module.exports (/usr/code-start/src/index.js:56:3)
at async /usr/local/src/server.js:68:13
Am I using sdk.Query.equal wrong or what could be the issue here?
Just solved it myself 😅 you have to add square brackets around the Query call like this. [sdk.Query.equal("ownerId", userId)]
[SOLVED] Invalid queries with sdk.Query.equal in node.js listDocuments function
Recommended threads
- How Can I Create landing page in appwrit...
I created function called invoice URL https://app.getrestt.com/v1/functions/invoice/executions?id=test-76f948fe83c43422561fe096c0674a1bd3ff0702cdfcf2444293ab31...
- DeploymentStatus enum value `canceled` m...
Hey, Sorry if it has been reported already, I found an issue using the Dart SDK where the `canceled` enum value is missing from `DeploymentStatus`. This causes...
- Synchronous function execution timeout w...
I am calling server functions with xasync = true and I still get this error message. Synchronous function execution timed out. Use asynchronous execution inste...