モデルクラスです。
ClassMethods
insertAll(objects) -> Promise
指定したデータの配列で、データを作成します。
引数:
Name |
Type |
Description |
objects |
Model[] or Object[] |
Modelのインスタンスか、カラム名をkeyとしたオブジェクトの配列を指定します。 |
Return:
Type: Promise< Model[] >
Example
let insertDataList = [
{columnA: "1234"},
{columnA: "abcd"}
];
ModelA.insertAll(insertDataList)
.then((results)=>{
console.log(results);
});
insert(object) -> Promise
指定したデータで、サーバーにデータを作成します。
引数:
Name |
Type |
Description |
objects |
Model or Object |
Modelのインスタンスか、カラム名をkeyとしたオブジェクトを指定します。 |
Return:
Type: Promise< Model >
Example
ModelA.insert({columnA:"1234"})
.then((result)=>{
console.log(result);
});
findById(id) -> Promise
指定したIDでデータを検索します。
引数:
Name |
Type |
Description |
id |
String |
データのID |
Return:
Type: Promise< Model >
Example
ModelA.findById("id-001")
.then((result)=>{
console.log(result);
});
findAll() -> Promise
全てのデータを検索します。
Return:
Type: Promise< Model[] >
Example
ModelA.findByAll()
.then((results)=>{
console.log(results);
});
select(alias) -> Query
検索クエリの作成を開始します。
引数:
Name |
Type |
Description |
alias |
(optional) String |
クエリ文の中で使用する、テーブル名の別名を指定する。 |
Return:
Type: Query
Example
ModelA.select()
.findList()
.then((result) => {
console.log(result);
});
removeById(id): Promise
指定したIDのデータを削除します。
引数:
Name |
Type |
Description |
id |
String |
データのID |
Return:
Type: Promise
Example
ModelA.removeById("id-001")
.then((result)=>{
console.log(result);
});
downlink(alias) -> QueryLimited
ローカルデータベースへ保存するデータの取得のためのクエリ作成を開始します。
引数:
Name |
Type |
Description |
alias |
(optional) String |
クエリ文の中で使用する、テーブル名の別名を指定します。 |
Return:
Type: QueryLimited
Example
ModelA.downlink()
.where('columnA=?',["1234"])
.execute()
.then((result)=>{
console.log(result);
});
uplink(conflict) -> Promise
ローカルデータベースに保存されているデータをサーバーに送信します。
引数:
Name |
Type |
Description |
conflict |
Function< Object > |
データのコンフリクトが発生した場合に呼び出す関数。 |
conflict関数には以下の様なオブジェクトか渡されます。
const conflictedObjects = {
update: [], // array of Model
delete: [] // array of Model
};
Return:
Type: Promise
Exapmle
ModelA.uplink((conflict)=>{
console.log(conflict);
})
.then((result)=>{
console.log(result);
});
countUnsent() -> Promise
ローカルデータベースに保存されているサーバーに送信されていないデータの件数を取得します。
Return:
Type: Promise< Number >
Exapmle
ModelA.countUnsent()
.then((result)=>{
console.log(result);
});
getUnsents() -> Promise
ローカルデータベースに保存されているサーバーに送信されていないデータを取得します。
Return:
Type: Promise< Object >
以下の様なオブジェクトが取得できます。
{
created: [], // array of objectId
updated: [], // array of objectId
deleted: [] // array of {objectId, serverUpdateTime}
};
Exapmle
ModelA.getUnsents()
.then((result)=>{
console.log(result);
});
get(key) -> any | object
インスタンスが保持するカラムのデータを取得します。
引数:
Name |
Type |
Description |
key |
(optional) String |
取得するカラムの名前 |
keyを指定しない場合は、カラム名をkeyとした全てのカラムをオブジェクトとして返します。
Return:
Type: any or Object
Exapmle
var columns = ModelA.get();
set(key, value) -> Model
インスタンスにカラムのデータをセットします。
引数:
Name |
Type |
Description |
key |
String |
設定するカラムの名前 |
value |
any |
設定するデータ |
Return:
Type: Model
Example:
var modelA = new ModelA();
modelA.set('columnA', 1234);
/* ModelAにcolumnAがdefineされている場合
以下の様に書くことも可能です */
modelA.columnA = 1234;
set(columns): Model
インスタンスにカラムのデータをセットします。
引数:
Name |
Type |
Description |
columns |
Object |
設定するデータのカラム名をkeyとしたオブジェクト |
Return:
Type: Model
Example:
var modelA = new ModelA();
modelA.set({
columnA: 1234,
columnB: 'abcde'
});
InstanceMethods
insert(columns) -> Promise
インスタンスのプロパティで、サーバーにデータを作成します。
引数:
Name |
Type |
Description |
columns |
(optional) Object |
設定するデータのカラム名をkeyとしたオブジェクト |
columnsが指定された場合は、プロパティを更に上書きして、サーバーに作成クエリを発行します。
Return:
Type: Model
Example
var modelA = new ModelA();
modelA.insert({columnA:"abcd"});
update(columns: object) -> Promise
インスタンスのプロパティで、サーバーのデータを更新します。
引数:
Name |
Type |
Description |
columns |
(optional) Object |
設定するデータのカラム名をkeyとしたオブジェクト |
columnsが指定された場合は、プロパティを更に上書きして、サーバーに更新クエリを発行します。
Return:
Type: Model
Example
var modelA = new ModelA();
modelA.update({columnA:"abcd"});
save(columns: object) -> Promise
インスタンスのプロパティで、サーバーのデータを作成、もしくは更新します。
isNew()がtrueを返す場合は、insert動作、falseの場合はupdate動作を行います。
引数:
Name |
Type |
Description |
columns |
(optional) Object |
設定するデータのカラム名をkeyとしたオブジェクト |
columnsが指定された場合は、プロパティを更に上書きして、サーバーにクエリを発行します。
Return:
Type: Model
Example
var modelA = new ModelA();
modelA.save({columnA:"abcd"});
remove() -> Promise
インスタンスのIDのデータをサーバーから削除します。
Return:
Type: Model
Example
var modelA = new ModelA();
modelA.remove();
isNew() -> Boolean
サーバーやDBに一度も保存されていないレコードである場合にtrueを返します。それ以外の場合にはfalseを返します。
save()実行時に、isNew()がtrueを返すインスタンスの場合はinsert動作、falseの場合はupdate動作を行います。
Return:
Type: Boolean
Example
var modelA = new ModelA();
if (modelA.isNew()) {
console.log("insert");
} else {
console.log("update");
}