クラウドデータベースクエリ
1. Page フォルダーの下に新しいページを作成します
1. 「database」という名前の新しいページを作成します。
2. 以下に示すように、「database.js」を編集します。
2. データベースにクエリを実行します (onLoad 関数の書き込み)
ここには2つの書き方があるので、区別して分析することに注意してください!
- 最初の伝統的な書き方:
コード:
onLoad(){
//固定写法,用于获取当前数据库中goods这个表的实例对象
wx.cloud.database().collection('goods')
//查询操作
.get({
//请求成功
success(res){
console.log('请求成功',res)
},
//请求失败
fail(err){
console.log('请求失败',err)
}
})
- 2 番目の ES6 の簡潔な書き方
(推荐此种写法)
:
コード:
onLoad(){
//用于获取当前数据库中goods这个表的实例对象,注意后面的.get()!!!
wx.cloud.database().collection('goods').get()
//请求成功
.then(res =>{
console.log('第二种方法请求成功',res)
})
//请求失败
.catch(err =>{
console.log('第二种方法请求失败',err)
})
}
次に、上記のクエリメソッドを使用して、データベース内のデータを画面に表示します
1.database.wxml を作成し、wx:for を使用してリスト配列を走査します
。 2.ES6 の簡潔な記述を使用して、database.js を作成します。☆☆☆
知らせ!:
- ①データ内のリスト配列は代入する必要がないこのとき、データベースから動的にデータを取得するのではなく、手動で代入することは書き込みに相当します。
- ②では
this
、スコープは Page 全体です
。つまり、これによって Page 内のすべてのデータにアクセスできます。
因此我们可以在setData中设置"data中list数组的数据"
3. この時点で、コンパイル後にデータベース内のデータを表示できます。
コード 1:
<view wx:for="{
{list}}">
<view>商品名:{
{
item.name}},价格:{
{
item.value}}</view>
</view>
コード 2:
Page({
data:{
list:[ ]
},
onLoad(){
//ES6简洁写法(推荐此种写法)
wx.cloud.database().collection('goods').get()
//查询操作
.then(res =>{
console.log('第二种方法请求成功',res.data)
this.setData({
//动态的将数据库中的数据存放到list数组中
list:res.data
})
})
.catch(err =>{
console.log('第二种方法请求失败',err)
})
}
})
3. 条件付きクエリ where()
wx.cloud.database().collection('goods')
との間に追加して条件付きクエリを実装し.get()
ます.where()
wx.cloud.database().collection('goods').where({
//里面写条件
}).get()
(goodsはデータベース内のテーブル名です)
例:
結果:
4. 単一のデータをクエリする doc()
wx.cloud.database().collection('goods')
との間に追加して条件付きクエリを実装し.get()
ます.doc()
wx.cloud.database().collection('goods')
.doc('//里面写云数据库中数据的id').get()
(goodsはデータベース内のテーブル名です)
例:
doc() に保存されているデータはクラウド データベース内の ID であることに注意してください。