摘要:数据库集成添加将数据库连接到应用程序的功能只需在应用程序中为数据库加载适当的驱动程序,本文档简要介绍了如何在应用程序中为数据库系统添加和使用一些最流行的模块。这些数据库驱动程序是众多可用的驱动程序,对于其他选项,请在网站上搜索。
数据库集成
添加将数据库连接到Express应用程序的功能只需在应用程序中为数据库加载适当的Node.js驱动程序,本文档简要介绍了如何在Express应用程序中为数据库系统添加和使用一些最流行的Node.js模块。
这些数据库驱动程序是众多可用的驱动程序,对于其他选项,请在npm网站上搜索。
Cassandra模块:cassandra-driver
安装$ npm install cassandra-driver示例
var cassandra = require("cassandra-driver")
var client = new cassandra.Client({ contactPoints: ["localhost"] })
client.execute("select key from system.local", function (err, result) {
if (err) throw err
console.log(result.rows[0])
})
Couchbase
模块:couchnode
安装$ npm install couchbase示例
var couchbase = require("couchbase")
var bucket = (new couchbase.Cluster("http://localhost:8091")).openBucket("bucketName")
// add a document to a bucket
bucket.insert("document-key", { name: "Matt", shoeSize: 13 }, function (err, result) {
if (err) {
console.log(err)
} else {
console.log(result)
}
})
// get all documents with shoe size 13
var n1ql = "SELECT d.* FROM `bucketName` d WHERE shoeSize = $1"
var query = N1qlQuery.fromString(n1ql)
bucket.query(query, [13], function (err, result) {
if (err) {
console.log(err)
} else {
console.log(result)
}
})
CouchDB
模块:nano
安装$ npm install nano示例
var nano = require("nano")("http://localhost:5984")
nano.db.create("books")
var books = nano.db.use("books")
// Insert a book document in the books database
books.insert({ name: "The Art of war" }, null, function (err, body) {
if (err) {
console.log(err)
} else {
console.log(body)
}
})
// Get a list of all books
books.list(function (err, body) {
if (err) {
console.log(err)
} else {
console.log(body.rows)
}
})
LevelDB
模块:levelup
安装$ npm install level levelup leveldown示例
var levelup = require("levelup")
var db = levelup("./mydb")
db.put("name", "LevelUP", function (err) {
if (err) return console.log("Ooops!", err)
db.get("name", function (err, value) {
if (err) return console.log("Ooops!", err)
console.log("name=" + value)
})
})
MySQL
模块:mysql
安装$ npm install mysql示例
var mysql = require("mysql")
var connection = mysql.createConnection({
host : "localhost",
user : "dbuser",
password : "s3kreee7",
database : "my_db"
});
connection.connect()
connection.query("SELECT 1 + 1 AS solution", function (err, rows, fields) {
if (err) throw err
console.log("The solution is: ", rows[0].solution)
})
connection.end()
MongoDB
模块:mongodb
安装$ npm install mongodb示例(v2.*)
var MongoClient = require("mongodb").MongoClient
MongoClient.connect("mongodb://localhost:27017/animals", function (err, db) {
if (err) throw err
db.collection("mammals").find().toArray(function (err, result) {
if (err) throw err
console.log(result)
})
})
示例(v3.*)
var MongoClient = require("mongodb").MongoClient
MongoClient.connect("mongodb://localhost:27017/animals", function (err, client) {
if (err) throw err
var db = client.db("animals")
db.collection("mammals").find().toArray(function (err, result) {
if (err) throw err
console.log(result)
})
})
如果你想要MongoDB的对象模型驱动程序,请查看Mongoose。
Neo4j模块:apoc
安装$ npm install apoc示例
var apoc = require("apoc")
apoc.query("match (n) return n").exec().then(
function (response) {
console.log(response)
},
function (fail) {
console.log(fail)
}
)
Oracle
模块:oracledb
安装注意:请参阅安装前提条件。
$ npm install oracledb示例
const oracledb = require("oracledb");
const config = {
user: "", // Update me
password: "", // Update me
connectString: "localhost:1521/orcl" // Update me
};
async function getEmployee(empId) {
let conn;
try {
conn = await oracledb.getConnection(config);
const result = await conn.execute(
"select * from employees where employee_id = :id",
[empId]
);
console.log(result.rows[0]);
} catch (err) {
console.log("Ouch!", err);
} finally {
if (conn) { // conn assignment worked, need to close
await conn.close();
}
}
}
getEmployee(101);
PostgreSQL
模块:pg-promise
安装$ npm install pg-promise示例
var pgp = require("pg-promise")(/*options*/)
var db = pgp("postgres://username:password@host:port/database")
db.one("SELECT $1 AS value", 123)
.then(function (data) {
console.log("DATA:", data.value)
})
.catch(function (error) {
console.log("ERROR:", error)
})
Redis
模块:redis
安装$ npm install redis示例
var redis = require("redis")
var client = redis.createClient()
client.on("error", function (err) {
console.log("Error " + err)
})
client.set("string key", "string val", redis.print)
client.hset("hash key", "hashtest 1", "some value", redis.print)
client.hset(["hash key", "hashtest 2", "some other value"], redis.print)
client.hkeys("hash key", function (err, replies) {
console.log(replies.length + " replies:")
replies.forEach(function (reply, i) {
console.log(" " + i + ": " + reply)
})
client.quit()
})
SQL Server
模块:tedious
安装$ npm install tedious示例
var Connection = require("tedious").Connection;
var Request = require("tedious").Request;
var config = {
userName: "your_username", // update me
password: "your_password", // update me
server: "localhost"
}
var connection = new Connection(config);
connection.on("connect", function(err) {
if (err) {
console.log(err);
} else {
executeStatement();
}
});
function executeStatement() {
request = new Request("select 123, "hello world"", function(err, rowCount) {
if (err) {
console.log(err);
} else {
console.log(rowCount + " rows");
}
connection.close();
});
request.on("row", function(columns) {
columns.forEach(function(column) {
if (column.value === null) {
console.log("NULL");
} else {
console.log(column.value);
}
});
});
connection.execSql(request);
}
SQLite
模块:sqlite3
安装$ npm install sqlite3示例
var sqlite3 = require("sqlite3").verbose()
var db = new sqlite3.Database(":memory:")
db.serialize(function () {
db.run("CREATE TABLE lorem (info TEXT)")
var stmt = db.prepare("INSERT INTO lorem VALUES (?)")
for (var i = 0; i < 10; i++) {
stmt.run("Ipsum " + i)
}
stmt.finalize()
db.each("SELECT rowid AS id, info FROM lorem", function (err, row) {
console.log(row.id + ": " + row.info)
})
})
db.close()
ElasticSearch
模块:elasticsearch
安装$ npm install elasticsearch示例
var elasticsearch = require("elasticsearch")
var client = elasticsearch.Client({
host: "localhost:9200"
})
client.search({
index: "books",
type: "book",
body: {
query: {
multi_match: {
query: "express js",
fields: ["title", "description"]
}
}
}
}).then(function (response) {
var hits = response.hits.hits
}, function (error) {
console.trace(error.message)
})
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/100482.html
摘要:单元测试一个合格的库应该包含完整的单元测试。是的支持版,和是一样的,它能够直接运行为后缀的单元测试文件。在目录下加入然后执行即可看到单元测试结果。 这篇文章主要是讲述如何使用 TypeScript 编写一个完善,包含测试、文档、持续集成的库,涵盖了编写整个库所需要的技术和工具,主要涵盖: 项目目录骨架 TypeScript 配置 使用 jest 单元测试 使用 vuepress 编写...
摘要:文档基于的快速开放极简主义的框架,是一个最小且灵活的应用程序框架,为和移动应用程序提供了一组强大的功能。借助无数的实用程序方法和中间件,你可以快速轻松地创建强大的。提供了一层轻薄的基本应用程序功能,而不会隐藏你熟悉和喜爱的功能。 Express 文档 基于Node.js的快速、开放、极简主义的Web框架,Express是一个最小且灵活的Node.js Web应用程序框架,为Web和移动...
摘要:菜鸟教程框架中文手册入门目标使用搭建通过对数据增删查改没了纯粹占行用的拜 后端API入门学习指北 了解一下一下概念. RESTful API标准] 所有的API都遵循[RESTful API标准]. 建议大家都简单了解一下HTTP协议和RESTful API相关资料. 阮一峰:理解RESTful架构 阮一峰:RESTful API 设计指南 RESTful API指南 依赖注入 D...
阅读 1112·2023-04-25 21:21
阅读 3461·2021-11-24 09:39
阅读 3281·2021-09-02 15:41
阅读 2319·2021-08-26 14:13
阅读 2070·2019-08-30 11:18
阅读 3133·2019-08-29 16:25
阅读 749·2019-08-28 18:27
阅读 1833·2019-08-28 18:17