跳到主要内容

PullRepositoryOptions

Defined in: packages/rxdb/src/sync-contract/VersionManager.interface.ts:368

拉取仓库选项

Properties​

conflictResolver?​

optional conflictResolver?: ConflictResolver;

Defined in: packages/rxdb/src/sync-contract/VersionManager.interface.ts:419

Repository 级 pull 过程中使用的冲突解决器。

当前运行时仅支持自动的 KEEP_LOCAL 和 KEEP_REMOTE 解决策略。 MERGE 和 DEFER 作为待办项暂未实现。


fetchAll?​

optional fetchAll?: boolean;

Defined in: packages/rxdb/src/sync-contract/VersionManager.interface.ts:379

是否多次请求拉取所有变更

Default​

false

filter?​

optional filter?: RuleGroup;

Defined in: packages/rxdb/src/sync-contract/VersionManager.interface.ts:411

行级过滤条件(用于 SyncType.Filter)

设置后只拉取满足条件的实体对应的变更;条件作用在实体表而非 RxDBChange 表。

Example​

// 只拉取最近 30 天的数据
filter: {
combinator: 'and',
rules: [{ field: 'updatedAt', operator: '>=', value: thirtyDaysAgo }]
}

includeRelated?​

optional includeRelated?: boolean;

Defined in: packages/rxdb/src/sync-contract/VersionManager.interface.ts:395

是否包含关联实体(级联同步)

为 true 时:

  • 自动拉取所有父实体(外键引用)
  • 按拓扑顺序:父 -> 子
  • 示例:拉取 Post 时会自动拉取 User

为 false 时:

  • 仅同步指定的仓库
  • 如果父实体未同步,可能导致外键约束错误

Default​

true

limit?​

optional limit?: number;

Defined in: packages/rxdb/src/sync-contract/VersionManager.interface.ts:373

单次请求拉取的最大变更数

Default​

1000