Obsidian / Dataview 多端同步坑速查
> 由多端知识库同步实战精选整理,按【坑/现象 → 根因 → 解法 → 适用场景】组织。
1. 多端同步后 Dataview 查询结果对不上:索引没重建
【坑/现象】
- 两端都显示「同步成功」,但电脑端 Dataview 结果和手机端不一致;常被误判成「同步失败」。
【根因】
- Dataview 索引是基于「当前这台设备上的文件」生成的内存数据;手机离线编辑后重新同步,电脑端不会自动重建索引。
【解法】
- 同步完成后手动执行「重新索引 Vault」;更流程化:在同步插件的「同步完成回调」里挂 Dataview 重建索引命令,每次同步结束自动刷新。
【适用场景】Obsidian + Syncthing / Obsidian Sync / iCloud 多端同步的知识库。
2. 用 file.mtime 做「最近修改」被同步 bump 污染
【坑/现象】
- 「最近修改」列表里全是自己没动过的笔记——同步服务(Syncthing / iCloud / Obsidian Sync)把文件写到另一台设备时刷新了磁盘 mtime。
【根因】
- file.mtime 是磁盘时间,同步写入会改它;以它为「真实编辑时间」不可靠。
【解法】
- frontmatter 加 modified: 字段,用 default(modified, file.mtime) 查询;Linter 插件的「YAML timestamp」规则自动维护 modified(源设为「用户或 Linter 编辑」,而非文件时间)。
【适用场景】Dataview 动态仪表盘、最近编辑/活跃项目看板。
> 作者:阿光 · 婚恋活动策划 × 摄影摄像 8 年实战。技能定制 / 业务合作:微信 13011137113