Skip to content

Latest commit

 

History

History
94 lines (68 loc) · 1.47 KB

query-language.md

File metadata and controls

94 lines (68 loc) · 1.47 KB

NOVA Query Language (NQL) Reference

NQL is an intuitive, expressive query language designed specifically for document data flows and live streams.


1. FIND Queries

FIND <collection> [WHERE <expr>] [SORT <field> [ASC|DESC]] [LIMIT <n>] [OFFSET <n>]

Examples

FIND users WHERE age > 18
FIND users WHERE country == "IN" SORT created_at DESC LIMIT 25
FIND orders WHERE total >= 100.0 AND status == "completed"
FIND users WHERE profile.contact.verified == true

2. INSERT Queries

INSERT INTO <collection> VALUES ({ <fields> })

Example

INSERT INTO users VALUES ({
  "name": "Sunrit",
  "role": "Systems Engineer",
  "age": 28,
  "skills": ["Rust", "Python", "Linux"]
})

3. UPDATE Queries

UPDATE <collection> SET <field> = <expr> (, <field> = <expr>)* [WHERE <expr>]

Example

UPDATE users SET role = "Lead Engineer", age = age + 1 WHERE id == "u_101"

4. REMOVE Queries

REMOVE <collection> [WHERE <expr>]

Example

REMOVE users WHERE inactive == true

5. WATCH Queries

Subscribes to live mutations in real time.

WATCH <collection> [WHERE <expr>]

Example

WATCH telemetry WHERE temperature > 80.0

6. Index DDL

CREATE INDEX <collection>.<field> [TYPE hash|ordered]
DROP INDEX <collection>.<field>

Example

CREATE INDEX users.email TYPE hash
CREATE INDEX users.age TYPE ordered
DROP INDEX users.email