网站建设资讯

NEWS

网站建设资讯

nodejsorm框架sequelize的findOne与findAll一点使用心得

     sequelize 的findOne 与findAll 的使用

Js

创新互联服务项目包括绥宁网站建设、绥宁网站制作、绥宁网页制作以及绥宁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,绥宁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到绥宁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

    User.js:
var Sequelize = require('sequelize');
var sequelize = require('./../dataconfig');

// // 创建 model
var User = sequelize.define('user', {
id: { type: Sequelize.INTEGER, 'primaryKey': 'true' },
userName: {
        type: Sequelize.STRING, // 指定值的类型
        field: 'user_name' // 指定存储在表中的键名称
},
// 没有指定 field,表中键名称则与对象键名相同,为 email
email: {
        type: Sequelize.STRING
}
}, {
        // 如果为 true 则表的名称和 model 相同,即 user
        // 为 false MySQL创建的表名称会是复数 users
        // 如果指定的表名称本就是复数形式则不变
        freezeTableName: true
});

exports.findAllUser = function () {
return User.findAll();
}

写个测试类 test.js:

//test.js 调用

var user = require('./model/user');

user.findAllUser().then(result => {
    console.log('用户数据sss', result)
})

运行

node test.js

node js orm 框架 sequelize 的findOne 与findAll 一点使用心得

???跟我想的不一样呀,我只要一个json数组就可以了 defaultvalues 是什么鬼?

原来返回的不是json对象,而是包装了一层的 Instance

Instance类表示一个实例,表示数据库中的一行。它不能通过构造函数实例化,而应该通过Model.find*或Model.create等方法创建。

实例中包含一个dataValues属性,其中存储了实例实际所要操作的值。dataValues中的值可以通过以下几种方式访问:

instance.field
// 等价于
instance.get('field')
// 等价于
instance.getDataValue('field')
如果定义了访问器(getter)/设置器(setter),字段值从其中访问而不是从dataValues。一般会直接访问或使用get来访问属性值,而getDataValue只用于自定义的访问器。

或者加上{row:true}
node js orm 框架 sequelize 的findOne 与findAll 一点使用心得

再次运行 node test.js

node js orm 框架 sequelize 的findOne 与findAll 一点使用心得

成功,仅仅写给小白,大佬请略过,不要笑话我,溜了溜了。


网页题目:nodejsorm框架sequelize的findOne与findAll一点使用心得
链接URL:http://njwzjz.com/article/gicoph.html