在微信小程序云开发中,云数据库是一个 NoSQL 数据库,提供了方便快捷的数据存储服务。以下是一些云数据库的基本操作和概念:

1. 集合(Collection)

集合类似于关系型数据库中的表,是一组具有相同结构的文档(document)的集合。每个文档是一个 JSON 对象,代表了一个数据记录。

2. 文档(Document)

文档是集合中的基本单位,每个文档包含了一条数据记录。文档是 JSON 对象,可以包含不同类型的字段,每个字段都有一个键值对。

3. 字段(Field)

字段是文档中的数据项,每个字段都有一个键和对应的值。字段的值可以是基本数据类型,也可以是嵌套的对象或数组。

4. 数据操作

4.1 插入数据

使用 add 方法向集合中插入新的文档。
const db = wx.cloud.database();

db.collection('users').add({
  data: {
    name: 'John Doe',
    age: 25
  },
  success: res => {
    console.log(res);
  },
  fail: err => {
    console.error(err);
  }
});

4.2 查询数据

使用 where 方法进行条件查询,并使用 get 方法获取符合条件的数据。
db.collection('users').where({
  age: 25
}).get({
  success: res => {
    console.log(res.data);
  },
  fail: err => {
    console.error(err);
  }
});

4.3 更新数据

使用 doc 方法指定文档的 _id,然后使用 update 方法更新文档的数据。
db.collection('users').doc('documentId').update({
  data: {
    age: 26
  },
  success: res => {
    console.log(res);
  },
  fail: err => {
    console.error(err);
  }
});

4.4 删除数据

使用 doc 方法指定文档的 _id,然后使用 remove 方法删除文档。
db.collection('users').doc('documentId').remove({
  success: res => {
    console.log(res);
  },
  fail: err => {
    console.error(err);
  }
});

5. 实时数据同步

使用 watch 方法实现实时数据同步,可以监听集合中数据的变化。
const watcher = db.collection('users').where({
  age: 25
}).watch({
  onChange: snapshot => {
    console.log('docs\'s changed events', snapshot.docChanges);
    console.log('query result snapshot after the event', snapshot.docs);
    console.log('is init data', snapshot.type === 'init');
  },
  onError: error => {
    console.error('the watch closed because of error', error);
  }
});

// 关闭监听
watcher.close();

以上是一些云数据库的基本操作,可以根据项目需求进行进一步的操作和优化。详细的使用文档和示例可以在[微信小程序官方文档 - 云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/capabilities/database.html)中找到。


转载请注明出处:http://www.zyzy.cn/article/detail/1150/微信小程序