抛弃复杂的数据库操作,让你的开发效率提升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)
  }
}

三、性能优化建议

  1. 创建合适的索引
  2. 只查询需要的字段
  3. 避免大量数据跳过
  4. 合理设计数据结构

参考资料

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐