云数据库与关系型数据库的区别:
云数据库是一个基于Json数据的数据库,即云数据库中的每一条记录都是Json数据,云数据库是采用集合的形式存储记录,每一个集合中的数据叫做字段。
举例:
```java
[
{
"_id": "Wzh76lk5_O_dt0vO",
"title": "The Catcher in the Rye",
"author": "J. D. Salinger",
"characters": [
"Holden Caulfield",
"Stradlater",
"Mr. Antolini"
],
"publishInfo": {
"year": 1951,
"country": "United States"
}
},
{
"_id": "Wzia0lk5_O_dt0vR",
"_openid": "ohl4L0Rnhq7vmmbT_DaNQa4ePaz0",
"title": "The Lady of the Camellias",
"author": "Alexandre Dumas fils",
"characters": [
"Marguerite Gautier",
"Armand Duval",
"Prudence",
"Count de Varville"
],
"publishInfo": {
"year": 1848,
"country": "France"
}
}
]
```
在实例中我们采用的是集合的形式存储数据,可以看到我们有数组和对象两种新的数据结构,在书籍的信息中我们采用
"characters"数组来存放书籍中的主要人物,我们使用
"publishInfo"对象来存储书籍的出版信息。每一个字段 我们有一个_id字段来唯一表示我们的数据,然后还有一个_open-id字段来标识我们的字段创始人,即小程序的用 户,注意:开发者可以自定义_id
,但不可自定义和修改_openid,同时在创建记录是我们也不会显示_openid。 我们可以使用数据库Api来实现对云数据库的增删查改四项操作。 只用云数据库api只需要三个步骤: 1:获取数据库引用 2:构造查询/更新条件 3:发送请求 举例:查询数据库的发表于美国的图书记录的例子: ```java
// 1. 获取数据库引用
const db = wx.cloud.database()
// 2. 构造查询语句
// collection 方法获取一个集合的引用
// where 方法传入一个对象,数据库返回集合中字段等于指定值的 JSON 文档。API 也支持高级的查询条件(比如大于、小于、in 等)
// get 方法会触发网络请求,往数据库取数据
db.collection('books').where({
publishInfo: {
country: 'United States'
}
}).get({
success: function(res) {
// 输出 [{ "title": "The Catcher in the Rye", ... }]
console.log(res)
}
})
```