node.js怎么把数据存入数据库

JavaScript018

node.js怎么把数据存入数据库,第1张

nodejs数据存mongodb:

首先创建数据库保存用户信息

数据库创建名 users 集合并插入条用户信息前没 users 集合mongodb 直接创建

>db.users.insert( { "userId":1, "name":"tom", "email":"tom@nodejs.org" })

查找信息使用 find 或者 findOne区别于 findOne 返结

db.users.findOne( {"userId": 1})

返结:

{

"_id" : ObjectId("5413be6e9e1c9f9c4386756d"),

"userId" : 1,

"name" : "tom",

"email" : "tom@nodejs.org"

}

驱程序

编辑 package.json, 添加于 mongodb 引用

{

"name": "express-api",

"version": "0.0.1",

"dependencies": {

"express": "2.5.9",

"ejs": "0.4.2",

"mongodb": "1.4.1"

}

}

重新 npm install 安装 mongodb 驱

使用 MongoDB 数据库

修改代码首先 require mongodb 模块连接 mongodb 数据库

var mongo = require("mongodb")

var express = require("express")

var app = express.createServer()

app.set("view engine", "ejs")

app.set("views", __dirname + "/views")

app.set("view options", { layout: false })

app.get("/", function (request, response) {

response.render("index")

})

app.get("/user/:id", function (request, response) {

var id = request.params.id

console.log(id)

app.users.findOne({ "userId": +id }, function (error, doc) {

if (error) return next(error)

response.json(doc)

})

})

// connect mongodb

var server = new mongo.Server("127.0.0.1", 27017)

var db = new mongo.Db("members", server, {safe:true }).open(function (error, client) {

if (error) throw error

console.log("\033[96m + \033[39m connected to mongodb")

app.users = new mongo.Collection(client, "users")

client.ensureIndex("users", "userId", function (error) {

if (error) throw error

console.log("\033[96m + \033[39m ensured index.")

console.log("Web Server listening ......")

app.listen(3000)

})

})

注意现数据库查找用户id 前面 + 用表单字符串类型数据转换需要数字类型

app.users.findOne({ "userId": +id }, function (error, doc) {

if (error) return next(error)

response.json(doc)

})

这个要看业务场景而决定,主流的数据库都是可以选择的,一般业内使用mysql的多一些。

我们来看看node提供的数据库支持有支持如下Database:IBM DB2,MS SQL Server,PostgreSQL,MySQL,SQLite,Oracle

支持的NoSQL 有MongoDB,Hive,Redis,CouchDB。

Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。

V8引擎执行Javascript的速度非常快,性能非常好。  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。