typescript nedb使ってみた
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript nedb使ってみた相关的知识,希望对你有一定的参考价值。
const Datastore = require("nedb");
const db = new Datastore({ filename: "data/test.db", autoload: true });
const testDoc = {
name: "testName",
value: "testValue",
number: 13456
};
db.insert(testDoc, (error, document) => {
console.dir(document);
console.error(error);
});
db.find({ name: /test/ }, (error, document) => {
console.dir(document);
console.error(error);
});
/*
Ionic上でProviderとして使うのを想定して組んでみたテスト
Androidエミュレータでも動いてびっくり
*/
import { Injectable } from "@angular/core";
import * as Datastore from "nedb";
@Injectable()
export class NedbProviderSample {
filename: string = "data/database.db";
dataStore: Datastore;
constructor() {
console.log("Hello ChatLogProvider Provider");
this.dataStore = new Datastore({ filename: this.filename, autoload: true });
}
/**
* レコードの新規作成
* @param document Object 書き込むドキュメントをJSONオブジェクトで指定
* @return targetKey:string 発行されたレコードキーをstringで返す
*/
public create(document: object): Promise<object> {
return new Promise((resolve, reject) => {
this.dataStore.insert(document, (error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
});
}
/**
* レコードの削除
* @param targetKey 削除対象のレコードキー
* @return bookean 削除の成否をbooleanで
*/
public delete(targetKey: string): Promise<boolean> {
return new Promise((resolve, reject) => {
this.dataStore.remove({ _id: targetKey }, {}, (error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
});
}
/**
* レコードの検索
* @param param0 {
* targetFieldName : 検索対象のフィールド名
* queryString: 検索に使用されるクエリ文字列
* }
* @return Array<object> 検索結果をドキュメントObjectのArrayで
*/
public findRecords({ targetFieldName: targetFieldName, queryString: queryString }): Promise<Array<object>> {
return new Promise((resolve, reject) => {
let queryObject;
if (queryObject) {
queryObject = { targetFieldName: queryString };
} else {
// find()に渡す検索オブジェクトを空っぽにすると、全件返ってくる
queryObject = {};
}
this.dataStore.find(queryObject, (error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
});
}
}
以上是关于typescript nedb使ってみた的主要内容,如果未能解决你的问题,请参考以下文章
csharp コードの秘诀は吉斯特に移行します。今まではEvernote的に全てまとめていたけれど,吉斯特だとコードのシンタックスハイライトが效いて便利なので,コード部分に关しては要点を使ってみたいと
html 円盘上のリンクを作ってみた
c_cpp LSコマンドを作ってみた
scss チップラボ:deveiceLightイベントを使ってみる
ruby Ohaiを単体で使ってみる。参考号:https://wiki.opscode.com/display/chef/Ohai+Installation+and+Use
csharp 【执笔中】コレクション内のデータに応じて的DataTemplateを切り替えたい场合にItemTemplateSelectorを使ってみる。