Knex - 使用JS管理数据库

什么是Knex

A SQL query builder that is flexibleportable, and fun to use!

Knex 是一个开源的轻量级的数据库连接工具.  可以用来数据查询/数据维护/数据迁移等工作. 

官网地址: SQL Query Builder for Javascript | Knex.js

Github: GitHub - knex/knex: A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.

支持多种数据库: 

  • PostgreSQL,
  • MySQL,
  • CockroachDB,
  • MSSQL,
  • SQLite3,
  • Oracle (including Oracle Wallet Authentication)

安装Kenx

npm install knex --save

针对不同数据库还需要安装对应的model:

# Then add one of the following (adding a --save) flag:
$ npm install pg
$ npm install pg-native
$ npm install sqlite3
$ npm install better-sqlite3
$ npm install mysql
$ npm install mysql2
$ npm install oracledb
$ npm install tedious

使用Kenx

Mysql: 

一个基于Knex.js的Node.js ORM框架,支持PostgreSQL,MySQL和SQLite3 简单来说,Bookself是一个优秀的代码库,它易于阅读、理解、可扩展。它不强制你使用任何特定的校验scheme,而是提供灵活有效的关系或嵌套关系加载策略,一级类支持事务。它是一个精益的对象关系映射器(lean Object Relation Mapper),允许你使用原始的knex接口,当你需要自定义查询时,因为它有时并不能完全满足老一套的惯例。 Bookshelf遵从和Backbone.js一样棒的Models和Collections思想,使用相同的模式、命名惯例和哲学构建轻量、易于操控的ORM。如果你已经了解Backbone,你就知道如何使用Bookshelf.示例:var knex = require('knex')({client: 'mysql', connection: process.env.MYSQL_DATABASE_CONNECTION }); var bookshelf = require('bookshelf')(knex); var User = bookshelf.Model.extend({   tableName: 'users',   messages: function() {     return this.hasMany(Posts);   } }); var Posts = bookshelf.Model.extend({   tableName: 'messages',   tags: function() {     return this.belongsToMany(Tag);   } }); var Tag = bookshelf.Model.extend({   tableName: 'tags' }) User.where('id', 1).fetch({withRelated: ['posts.tags']}).then(function(user) {   console.log(user.related('posts').toJSON()); }).catch(function(err) {   console.error(err); }); 标签:bookshelf
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值