定义两个model,一个给get的,一个给post的

var Sequelize = require('sequelize');

const DeviceNos = sequelize.define('DeviceDetail',
{
DeviceNo: {
type: Sequelize.INTEGER
}
},
{
tableName: 'DeviceDetail',
timestamps: false,
freezeTableName: true
}) const Device = sequelize.define('DeviceDetail',
{
DeviceNo: {
type: Sequelize.INTEGER
},
Tem: {
type: Sequelize.FLOAT,
get() {
return this.getDataValue("Tem").toFixed(2);
}
},
Hum: {
type: Sequelize.FLOAT,
get() {
return this.getDataValue("Hum").toFixed(2);
}
},
Lng: {
type: Sequelize.FLOAT,
get() {
return this.getDataValue("Lng").toFixed(2);
}
},
Lat: {
type: Sequelize.FLOAT,
get() {
return this.getDataValue("Lat").toFixed(2);
}
}, ServiceTime: {
type: Sequelize.DATE,
get() {
return moment(this.getDataValue('ServiceTime')).format('YYYY-MM-DD HH:mm:ss');
}
}
}, {
tableName: 'DeviceDetail',
timestamps: false,
freezeTableName: true
});

定义运算符

const Op = Sequelize.Op;

定义get/Post方法

router.post('/searchDeviceRecord', async function (ctx, next) {
let deviceNo = ctx.request.body.deviceNo;
let st = ctx.request.body.st;
let et = ctx.request.body.et;
console.log(st);
try {
var data = await Device.findAll({
attributes: ['DeviceNo', 'Tem', 'Hum', 'Lng', 'Lat', 'ServiceTime'],
where: {
deviceNo: deviceNo,
serviceTime: {
[Op.lte]: et,
[Op.gte]: st
}
},
order: [['ServiceTime', 'ASC']]
})
ctx.body = JSON.stringify(data);
} catch (e) {
console.log(e);
}
}); router.get('/getDeviceList', async function (ctx, next) {
try {
var data = await DeviceNos.findAll({
attributes: [[sequelize.literal('distinct DeviceNo'), 'DeviceNo']], order: [['DeviceNo', 'ASC']]
})
ctx.body = JSON.stringify(data);
} catch (e) {
console.log(e);
} });

sequelize的get/post方法例子的更多相关文章

  1. Try finally的一个实验和为什么避免重载 finalize()方法--例子

    public class TryFinallTest { public TryFinallTest(){ } public void runSomething(String str){ System. ...

  2. 2种实现CXF方法例子

    转载自:http://www.blogjava.net/sai5201314vicky/articles/353078.html 大家好,今天我要介绍的现实webservice的一种技术——CXF 由 ...

  3. sequelize常见操作使用方法

    关于sequelize的准备工作这里不再赘述. 一.引入sequelize模块 var Sequelize = require('sequelize'); 二.连接数据库 var sequelize  ...

  4. HTML5 API—无刷新更新地址 history.pushState/replaceState方法(例子) (转)

    尽管是上面讲到的<JavaScript高级程序设计>(第二版)中提到,BOM中的location.path/query…… (window.location)在通过JavaScript更改 ...

  5. Appium 定位方法例子(4)

    有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过……真的很头疼啊……我这里说的“操作” ...

  6. JQuery调用iframe子页面函数/对象的方法例子

    父页面有个ID为mainfrm.name为Iframe1的iframe,iframe连接b.html,该页面有个函数test 在父页面调用b.html的test方法为: $("#mainfr ...

  7. python_103_属性方法例子

    class Flight(object): def __init__(self,name): self.flight_name = name def checking_status(self): pr ...

  8. pyqt 动态显示时间方法例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import sys,datetime from PyQt4.QtC ...

  9. VHDL设计时参数定义的方法 例子

    -- SPtb LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_ ...

随机推荐

  1. C#Windows窗体中添加了AxWindowsMediaPlayer的详细用法影响键盘操作的问题

    最近在写一个飞机大战游戏,但在为游戏背景添加声音的时候,发现添加了AxWindowsMediaPlayer的详细用法音乐控件不能再通过键盘控制飞机的移动了,在网上查了许久,没找到原因,差点就想去找老师 ...

  2. poj 3254Corn Fields (入门状压dp)

    Farmer John has purchased a lush ≤ M ≤ ; ≤ N ≤ ) square parcels. He wants to grow some yummy corn fo ...

  3. sass compass config.rb

    require 'compass/import-once/activate' # Require any additional compass plugins here. # Set this to ...

  4. ajax请求本地文件

    这是一个小随笔,真的很简短! 主要入坑点有两个 一.Chrome浏览器默认不支持ajax读取本地文件 解决:1.关闭所有Chrome网页 2.右击Chrome浏览器,打开“属性”     3.弹出属性 ...

  5. UVa 10905 - Children's Game 排序,题目没有说输入是int 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  6. UVa 10340 - All in All 水题 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  7. hibernate环境搭建及操作

    一.导入jar包.1.hibernate的jar包2.jdbc的jar包 二.配置Hibernate.建立hibernate.cfg.xml mysql配置如下: <!DOCTYPE hiber ...

  8. java集合之List。

    实际上有两种List:一种是基本的ArrayList其优点在于随机访问元素,另一种是更强大的LinkedList它并不是为快速随机访问设计的,而是具有一套更通用的方法. List:次序是List最重要 ...

  9. noj装载问题

    描述 有两艘船,载重量分别是c1. c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2.确定是否有可能将所有集装箱全部装入两艘船.   输入 多个测例,每个测例的输入占 ...

  10. 关于C++使用将整形转换为字符串进行格式化的问题

    最近使用CTime类获取时间,因为在时间的格式上要求做到统一,所以会对时间信息进行格式化 目的:将时间信息生成为年4位,月2位,日2位,时2位,分2位,秒2位 也就是:2017-02-18 10:42 ...