---
title: "Database Comment Block — Row Comment Threads"
description: "One comment on a database row, saved as a child block of the row. Replies are children of their thread."
source: https://blokeditor.com/docs/database-comment/
lastmod: 2026-10-18
---

Framework JavaScript

Block Tools Database Comment

# Database comment block: comments on rows

An internal block tool that stores one comment on a database row. It is not user-insertable and has no toolbox entry. A thread is a `database-comment` child of the row. Its replies are `database-comment` children of the thread.

It is an annotation, not page content. Blok hides its holder. Views, find, copy, select-all and the HTML, Markdown and plain-text exports skip it. Comment writes do not add undo steps.

Registering `database` registers this tool automatically. Naming `database-comment` yourself replaces it. A host `comments` hook in the database config replaces the built-in comments.

### Import

TypeScript

```
import { DatabaseComment } from '@bloklabs/core/tools';
```

### Save Data

TypeScript

```
interface DatabaseCommentData {
  text: string;          // Plain text, not HTML
  createdAt: number;     // Epoch ms when it was written
  authorId?: string;     // The writer, as the host's people directory knows them
  authorName?: string;   // The writer's display name when it was written
  propertyId?: string;   // Set on a thread about one cell: that property's id
  editedAt?: number;     // Epoch ms of the last edit
  resolved?: boolean;    // Set on a resolved thread
}
// A thread is a child of the row; its replies are children of the thread.
```

JSON

```
{
  "id": "cmt001",
  "type": "database-comment",
  "parent": "row001",
  "data": {
    "text": "Can we ship this on Friday?",
    "createdAt": 1760745600000,
    "authorId": "u1",
    "authorName": "Ada",
    "propertyId": "prop2"
  }
}
```

### Usage Example

TypeScript

```
// DatabaseComment is not inserted directly. Registering Database
// registers it too, as `database-comment`.
import { Database } from '@bloklabs/core/tools';

const editor = new Blok({
  holder: 'editor',
  tools: {
    database: { class: Database },
  },
});
```
