Use something more intuitive than the current FQL syntax to stand out among other cloud services.
My suggestions:
Create
createDatabase("app");
createDatabase(["app", "barbearia"]);
__________________________________________________________
database("app").createCollection("Users");
database("app").createCollection(["Users", "Products"]);
Insert
database("app").collection("Users").insertDocument(
{
_id: ID(5ds564654fd),
nome: "Adalberto",
idade: 48
}, { _id, nome }); // the second parameter is optional and works like in GraphQL
database("app").collection("Users").insertDocument([
{
_id: ID(df4547454h),
nome: "Ronaldo",
idade: 17
},
{
_id: ID(gf78hy498g),
nome: "Vicente",
idade: 32
}
], { _id, nome }); // the second parameter is optional and works like in GraphQL
Find
database("app").collection("Users").findDocument(user -> user.nome == "Ronaldo" && user.idade > 8, { _id, nome }); // the second parameter is optional and works like in GraphQL
database("app").collection("Users").findDocument(({ nome, idade }) -> nome == "Ronaldo" && idade > 8, { _id, nome }); // the second parameter is optional and works like in GraphQL
Update
database("app").collection("Users").updateDocument(
user -> user.nome == "Ronaldo" && user.idade > 8,
user: {
idade: 47
},
{ _id, nome }); // the second parameter is optional and works like in GraphQL
database("app").collection("Users").updateDocument(
({ nome, idade }) -> nome == "Ronaldo" && idade > 8,
user: {
idade: 47
},
{ _id, nome }); // the second parameter is optional and works like in GraphQL
Delete
database("app").collection("Users").deleteDocument(user -> user.nome == "Ronaldo" && user.idade > 8, { _id, nome }); // the second parameter is optional and works like in GraphQL
database("app").collection("Users").deleteDocument(({ nome, idade }) -> nome == "Ronaldo" && idade > 8, { _id, nome }); // the second parameter is optional and works like in GraphQL