import { defineSchema, defineTable } from "convex/server"
export default defineSchema({
messages: defineTable({
text: "string",
user: "string",
})
})
Example storing:
{
_id: "abc123",
text: "hello",
user: "minhen"
}
import { query } from "./_generated/server"
export const getMessages = query({
handler: async (ctx) => {
return await ctx.db
.**query**("messages").collect()
}
})
export const getMessagesByIndex = query({
handler: async (ctx) => {
return await ctx.db
.query("messages")
.**withIndex**("by_user", q => q.eq("user","minhen"))
.collect()
}
})
What happens:
Client calls query
│
▼
Convex executes function
│
▼
Database returns data