10分钟精通uniCloud数据库!这些骚操作你一定要会!
·
抛弃复杂的数据库操作,让你的开发效率提升10倍!本文手把手教你玩转uniCloud数据库,从入门到实战只需10分钟!
一、基础操作
1.1 数据库初始化
// 获取数据库引用
const db = uniCloud.database()
const collection = db.collection('your-collection-name')
1.2 增加数据
// 添加单条数据
async function addData() {
try {
const result = await collection.add({
name: '张三',
age: 25,
createTime: Date.now()
})
console.log('添加成功')
} catch(e) {
console.error(e)
}
}
1.3 查询数据
// 基础查询
async function queryData() {
try {
const res = await collection
.where({
age: 25
})
.get()
console.log('查询结果:', res.data)
} catch(e) {
console.error(e)
}
}
// 高级查询
async function advancedQuery() {
try {
const res = await collection
.where({
age: db.command.gt(20).and(db.command.lt(30))
})
.get()
console.log('查询结果:', res.data)
} catch(e) {
console.error(e)
}
}
1.4 更新数据
// 更新数据
async function updateData() {
try {
await collection.doc('doc-id').update({
age: 26
})
console.log('更新成功')
} catch(e) {
console.error(e)
}
}
1.5 删除数据
// 删除数据
async function deleteData() {
try {
await collection.doc('doc-id').remove()
console.log('删除成功')
} catch(e) {
console.error(e)
}
}
二、高级特性
2.1 实时数据同步
// 监听数据变化
const watcher = db.collection('messages')
.where({
roomId: 'room1'
})
.watch({
onChange: function(snapshot) {
console.log('数据变化:', snapshot)
},
onError: function(error) {
console.error('监听错误:', error)
}
})
2.2 地理位置查询
// 查询附近的地点
async function nearbySearch() {
const point = new db.Geo.Point(113.324520, 23.099994)
try {
const res = await collection
.where({
location: db.command.geoNear({
geometry: point,
maxDistance: 1000 // 1公里内
})
})
.get()
console.log('附近的地点:', res.data)
} catch(e) {
console.error(e)
}
}
三、性能优化建议
- 创建合适的索引
- 只查询需要的字段
- 避免大量数据跳过
- 合理设计数据结构
参考资料
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)