微信ウィジェットクラウド開発のデータベース操作
12615 ワード
一、初期化:
データの操作(削除・変更)を行う前に、データベースのオブジェクトを取得するには、wx.cloud.database関数を使用します.この関数は、wx.cloud.initメソッドで提供される環境下のデータベースをデフォルトで使用します.他の環境のデータベースを使用する場合は、wx.cloud.databaseメソッドにenvパラメータを渡すことができます.たとえば、wx.cloud.database({「env」:「データベース環境ID」}).
二、操作データ:
db=wxなどのデータベースのオブジェクトを取得する.cloud.Database()は、いくつかの操作を行うことができます.データを操作するときはまずdbを通過する.collectionはconst article=dbなどの集合オブジェクトを取得する.collection(「article」)は、articleで操作できます.
2.1.データの挿入(上):
コレクションのオブジェクトを取得した後、彼のaddメソッドを呼び出してデータを挿入することができます.サンプルコードは次のとおりです.
2.2.データの読み込み:
すべてのデータを取得します(パフォーマンスを考慮すると、ウィジェットは一度に最大20個のデータしか取得できません):
データのidを知っている場合は、idに基づいてデータを取得できます.idによってデータを取得するにはdoc関数で実現する必要があります.
条件に基づいてデータを取得:条件に基づいてデータを取得し、where関数で実現できます.サンプルコードは次のとおりです.
2.3.データの削除:
1つのデータを削除します:1つのデータを出力して、このデータのidを知る必要があります.サンプルコードは次のとおりです.
複数のデータを削除します(クラウド関数が必要なサービス側のみ):
2.4.データの更新:
ローカルデータ:ローカル更新は、1つのデータのいくつかのフィールドの値のみを一度に更新し、updateメソッドを使用します.サンプルコードは次のとおりです.
全体更新:全体更新は一度にすべてのデータを更新し、setメソッドを使用します.サンプルコードは次のとおりです.
複数のデータを一度に更新する:サーバ側でクラウド関数を使用して実装する必要があります.
2.5.更新コマンド:
配列に要素を追加したり、要素を削除したりするなど、更新方法はたくさんあります.これらの方法はdb.commandが入手できます.以下に説明します. set:フィールドを指定値に設定します. remove:フィールドを削除します. inc:自己増加フィールド値. mul:自乗フィールド値. push:フィールド値が配列の場合、配列の末尾に指定値を追加します. pop:フィールド値が配列の場合、配列の末尾から要素が削除されます. shift:フィールド値が配列の場合、配列ヘッダから要素が削除されます. unshift:フィールド値が配列の場合、配列ヘッダに指定値を追加します.
データの操作(削除・変更)を行う前に、データベースのオブジェクトを取得するには、wx.cloud.database関数を使用します.この関数は、wx.cloud.initメソッドで提供される環境下のデータベースをデフォルトで使用します.他の環境のデータベースを使用する場合は、wx.cloud.databaseメソッドにenvパラメータを渡すことができます.たとえば、wx.cloud.database({「env」:「データベース環境ID」}).
二、操作データ:
db=wxなどのデータベースのオブジェクトを取得する.cloud.Database()は、いくつかの操作を行うことができます.データを操作するときはまずdbを通過する.collectionはconst article=dbなどの集合オブジェクトを取得する.collection(「article」)は、articleで操作できます.
2.1.データの挿入(上):
コレクションのオブジェクトを取得した後、彼のaddメソッドを呼び出してデータを挿入することができます.サンプルコードは次のとおりです.
const db = wx.cloud.database();
db.collection("article").add({
data: {
title: "learn cloud database",
pub_date: new Date("2019-1-1"),
author: " ",
content: "very good!"
}
}).then(res => {
console.log(res);
});
2.2.データの読み込み:
すべてのデータを取得します(パフォーマンスを考慮すると、ウィジェットは一度に最大20個のデータしか取得できません):
db.collection("article").get().then(res => {
console.log(res);
});
データのidを知っている場合は、idに基づいてデータを取得できます.idによってデータを取得するにはdoc関数で実現する必要があります.
db.collection("article").doc("article id").get().then(res => {
console.log(res)
});
条件に基づいてデータを取得:条件に基づいてデータを取得し、where関数で実現できます.サンプルコードは次のとおりです.
db.collection("article").where({
title: "HYY"
}).get().then(res => {
console.log(res);
});
2.3.データの削除:
1つのデータを削除します:1つのデータを出力して、このデータのidを知る必要があります.サンプルコードは次のとおりです.
db.collection("article").doc("article id").remove().then(res => {
console.log(res);
});
複数のデータを削除します(クラウド関数が必要なサービス側のみ):
db.collection("article").where({
title: "HYY"
}).remove().then(res => {
console.log(res);
});
2.4.データの更新:
ローカルデータ:ローカル更新は、1つのデータのいくつかのフィールドの値のみを一度に更新し、updateメソッドを使用します.サンプルコードは次のとおりです.
db.collection("article").doc("article id").update({
data: {
title: "HYY"
}
}).then(res => {
console.log(res);
});
全体更新:全体更新は一度にすべてのデータを更新し、setメソッドを使用します.サンプルコードは次のとおりです.
db.collection("article").doc("article id").set({
data: {
title: " ",
author: "abc",
content: "1111",
author: "ddd"
}
});
複数のデータを一度に更新する:サーバ側でクラウド関数を使用して実装する必要があります.
2.5.更新コマンド:
配列に要素を追加したり、要素を削除したりするなど、更新方法はたくさんあります.これらの方法はdb.commandが入手できます.以下に説明します.