本文整理汇总了TypeScript中Sequelize.Model.findOne方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Model.findOne方法的具体用法?TypeScript Model.findOne怎么用?TypeScript Model.findOne使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sequelize.Model
的用法示例。
在下文中一共展示了Model.findOne方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getSetting
/**
* Get setting.
* @param context
* @param key
*/
public async getSetting (context: any, key?: string): Promise<Setting> {
let setting = await this.settingModel.findOne({
where: { $and: [
{context: { $eq: this.getContextString(context) }},
{key: { $eq: key }}
]}
});
return this.parseSetting(setting);
}
示例2: findByUsername
findByUsername (username: string, callback: (error: any, result: any) => void) {
this.schema_model.findOne({
where: {
username: username
}
})
.then((data) => {
return callback(null, data);
})
.catch((error) => {
return callback(error, null);
});
}
示例3: findById
findById (idItem: number, callback: (error: any, result: any) => void) {
this.schema_model.findOne({
where: {
id: idItem
}
})
.then((data) => {
return callback(null, data);
})
.catch((error) => {
return callback(error, null);
});
}
示例4: removeSetting
/**
* Remove setting.
* @param context
* @param setting key or setting instance.
*/
public async removeSetting (context: any, setting: Setting | string): Promise<any> {
let instance: Instance<any> = await this.settingModel.findOne({
where: { $and: [
{context: { $eq: this.getContextString(context) }},
{key: { $eq: (typeof setting === 'string' ? setting : (setting as Setting).key) }}
]}
});
if (instance) {
await instance.destroy();
return true;
}
return false;
}
示例5: replaceSetting
/**
* Replace setting.
* @param context
* @param setting
*/
public async replaceSetting (context: any, setting: Setting): Promise<any> {
let instance = await this.settingModel.findOne({
where: { $and: [
{context: { $eq: this.getContextString(context) }},
{key: { $eq: setting.key }}
]}
});
if (! instance) throw new Error('Setting key is not yet defined in the context store! (\''+setting.key+'\')');
instance.set(setting);
await instance.save();
}
示例6: setSetting
/**
* Set setting value.
* @param context
* @param key
* @param value
*/
public async setSetting (context: any, key: string, value: any): Promise<any> {
let setting = await this.settingModel.findOne({
where: { $and: [
{context: { $eq: this.getContextString(context) }},
{key: { $eq: key }}
]}
});
if (! setting) {
throw new Error('Setting key is not yet defined in the context store!');
}
setting.set('value', value);
await setting.save();
}
示例7: boot
public async boot() {
let Map: Model<any,any> = this.app.models['Map'];
// Get all maps on server, sync with database.
let mapList: any[] = await this.app.serverFacade.client.gbx.query('GetMapList', [-1, 0]);
// Clear current list first.
this.list = {};
// TODO: Define interfaces for the maniaplanet return values.
for (let data of mapList) {
let exists = await Map.findOne({where: {uid: data.UId}});
if (! exists) {
let map = await Map.create({
uid: data.UId,
name: data.Name,
author: data.Author,
environment: data.Environnement
});
// Save created database model to local list.
this.list[data.UId] = map;
} else {
// Name update?
if (exists.name !== data.Name) {
exists.set('name', data.Name);
let map = await exists.save();
this.list[data.UId] = map;
} else {
this.list[data.UId] = exists;
}
}
}
// The sync with db is done, now check the current map and set it in the this.current
let currentMapInfo = await this.app.serverFacade.client.gbx.query('GetCurrentMapInfo', []);
if (currentMapInfo) {
this.current = this.list[currentMapInfo.UId];
}
}