# mm 数据库操作指南

## 规则（Rules）

- 框架支持 MySQL、SQLite、MongoDB 三种数据库
- 使用 `db.new(表名, 主键)` 创建数据管理器
- 数据管理器提供 `get`、`getObj`、`add`、`set`、`del`、`count` 方法

## 方法（Methods）

### 步骤1：获取数据管理器

```javascript
var db_data = db.new('cms_article', 'article_id');
```

### 步骤2：查询数据

```javascript
// 精确查询
var list = await db_data.get({ state: 1, show: 1 });

// 范围查询
var list = await db_data.get({ hot_gt: 100, title_like: "关键词" });

// 排序
var list = await db_data.get({ state: 1 }, "sort desc, time desc");

// 分页
db_data.size = 20;
db_data.page = 1;
var list = await db_data.get({ state: 1 });
```

### 步骤3：增删改

```javascript
// 新增
var id = await db_data.add({ title: "标题", content: "内容" });

// 修改
await db_data.set({ article_id: 1 }, { title: "新标题" });

// 删除
await db_data.del({ article_id: 1 });

// 计数
var count = await db_data.count({ state: 1 });
```

## 技巧（Tips）

- 查询条件后缀（`_gt`、`_lt`、`_like`、`_has` 等）见常识知识中的数据查询语法表
- `db_data.size = 0` 表示不分页，返回所有数据
- 排序字符串格式：`"字段1 asc, 字段2 desc"`
