Horizon.js集合操作大全:store、fetch、remove等12个方法详解
Horizon.js是一个强大的JavaScript实时后端框架,提供了丰富的集合操作方法。无论你是前端开发者还是全栈工程师,掌握这些方法都能让你的开发工作事半功倍!🔥
🎯 核心数据操作方法
1. store方法 - 数据存储利器
store方法用于向集合中存储数据,支持单条或多条记录插入:
// 存储单条记录
data.store({ id: 1, name: '张三', age: 25 })
// 批量存储多条记录
data.store([
{ id: 2, name: '李四', age: 30 },
{ id: 3, name: '王五', age: 28 }
])
2. fetch方法 - 数据获取专家
fetch方法用于一次性获取集合中的所有数据,返回一个Observable对象:
// 获取所有数据
data.fetch().subscribe(results => {
console.log('获取到的数据:', results)
})
3. remove方法 - 精准数据删除
remove方法支持多种方式删除数据,非常灵活:
// 通过ID删除
data.remove(1)
// 通过对象删除
data.remove({ id: 2 })
// 确保只删除指定文档
data.remove('abracadabra')
🔍 高级查询方法
4. find方法 - 精准定位
根据ID查找特定文档,快速定位目标数据。
5. findAll方法 - 批量查询
同时查找多个ID对应的文档,提高查询效率。
6. above方法 - 范围查询(上界)
查询大于指定值的记录,适合数值或日期范围查询。
7. below方法 - 范围查询(下界)
查询小于指定值的记录,与above方法配合使用。
⚡ 实时数据操作
8. watch方法 - 实时监听
watch方法提供实时数据监听功能,当数据发生变化时立即通知:
// 实时监听数据变化
data.findAll(1).watch().subscribe(changes => {
console.log('数据发生变化:', changes)
})
9. insert方法 - 数据插入
专门用于插入新数据,与store方法类似但语义更明确。
10. update方法 - 数据更新
更新现有文档的特定字段,保持数据完整性。
11. upsert方法 - 智能更新
如果文档存在则更新,不存在则插入,非常实用的方法。
12. replace方法 - 完全替换
用新文档完全替换现有文档,适合大规模数据更新。
🚀 聚合操作高级功能
Horizon.js的aggregate方法支持复杂的聚合查询:
// 简单聚合查询
horizon.aggregate([ hzA, hzB ])
// 对象聚合查询
horizon.aggregate({
item1: hzA.find(1),
item2: hzB.above({ id: 5 }).below({ id: 8 })
})
// 嵌套聚合查询
horizon.aggregate({
a: hzA.find(1),
b: {
c: hzB.find(4),
d: hzB.find(5),
e: {
f: [ hzA.find(2), hzA.find(3) ]
})
})
💡 实用技巧与最佳实践
错误处理机制
所有方法都提供完善的错误处理,确保应用稳定性:
data.remove().catch(error => {
console.error('删除操作失败:', error)
})
链式操作优势
支持方法链式调用,代码更加简洁优雅:
data.above({ age: 18 })
.below({ age: 60 })
.fetch()
.subscribe(results => {
console.log('年龄在18-60之间的用户:', results)
})
🎉 总结
掌握Horizon.js这12个核心集合操作方法,你就能轻松构建功能丰富的实时应用。从简单的数据存储到复杂的聚合查询,Horizon.js为开发者提供了完整的数据操作解决方案。
相关源码文件:
- client/src/ast.js - 抽象语法树定义
- client/src/model.js - 数据模型处理
- client/src/index.js - 核心接口实现
现在就开始使用Horizon.js,让你的应用拥有实时数据能力!✨
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





