LunaQL docs are incomplete.
Reference
clauses
where

where

The where clause is used to define a criteria of your queries:

posts.lunaql
query({
    from({
        posts: {
            where: ["is_published", "==", true]
        };
    });
});

You may also use named where clauses. For example, you can use a where{PropertyName} clause instead of defining your where condition in an array:

users.lunaql
query({
	from({
		users: {
			whereFirstName("Donald");
		};
	});
});
💡

Always use snake casing for your properties so you can use camel casing for named where clauses.

If you would like to have multiple conditions in your where clause, you can wrap all of them in a single array:

posts.lunaql
query({
    from({
        posts: {
            where: [
                ["is_published", "==", true],
                ["created_at", "<", "2022-12-23"],
            ]
        };
    });
});

In between your conditions, you can either use OR or AND depending on what you are trying to do:

posts.lunaql
query({
    from({
        posts: {
            where: [
                ["is_published", "==", true],
                'OR'
                ["created_at", "<", "2022-12-23"],
            ]
        };
    });
});
💡

If you don't provide OR or AND in between your queries, LunaQL will use AND by default.

Alternatively, you can use the orWhere clause:

posts.lunaql
query({
    from({
        posts: {
            where: ["is_published", "==", true];
            orWhere: ["created_at", "<", "2022-12-23"];
        };
    });
});

You can also use the where clause as a function:

posts.lunaql
query({
	from({
		posts: {
			where(["is_published", "==", true]);
			where(["created_at", "<", "2022-12-23"]);
		};
	});
});

And, you can do the same thing with the orWhere clause:

posts.lunaql
query({
	from({
		posts: {
			where(["is_published", "==", true]);
			orWhere(["created_at", "<", "2022-12-23"]);
		};
	});
});