當前位置:首頁 » 操作系統 » node資料庫

node資料庫

發布時間: 2022-01-13 16:45:29

㈠ node.js怎麼把數據存入資料庫

nodejs數據存mongodb:
首先創建資料庫保存用戶信息
資料庫創建名 users 集合並插入條用戶信息前沒 users 集合mongodb 直接創建
> db.users.insert( { "userId":1, "name":"tom", "email":"[email protected]" })
查找信息使用 find 或者 findOne區別於 findOne 返結
db.users.findOne( {"userId": 1})
返結:
{
"_id" : ObjectId("5413be6e9e1c9f9c4386756d"),
"userId" : 1,
"name" : "tom",
"email" : "[email protected]"
}
驅程序
編輯 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);
});

㈡ node.js用什麼資料庫好

這個要看業務場景而決定,主流的資料庫都是可以選擇的,一般業內使用mysql的多一些。

我們來看看node提供的資料庫支持有支持如下Database:IBM DB2,MS SQL Server,PostgreSQL,MySQL,SQLite,Oracle

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

㈢ 能曬一曬與Node.js搭配的資料庫嗎

來可能不習慣,但是像我們這種從前端寫js過來的人就自然得像說話一樣,關鍵還是適應。熟悉之後可以用async,Promise系 (q,
bluebird) 或者 eventproxy 之類的庫來改善代碼嵌套的問題。

異常的問題 - Node 核心庫的 API 拋異常大致有三種常見情況:
1. 非同步回調。按慣例,接收的回調函數第一個參數都是可能出現的異常,沒有特殊情況的話你應該把異常按照同樣的參數位置一層層傳下去,直到最頂層的回調里進行統一處理。
2. 同步版本的api會直接拋異常。所以如果確實無法避免拋錯的可能,直接 try catch,要麼就避免用同步版本。

㈣ node.js用什麼資料庫好

nodejs + Oracle 坑比較多,但是也是可以做到的。
nodejs + Mysql 用的人最多,畢竟mysql已經很普及了。
nodejs + mongodb 快+快=非常快,適合超快速開發模式。
個人推薦mysql: https://www.npmjs.com/package/mysql

㈤ node.js調用資料庫數據

1、安裝node.js、mysql,此處略(自行搜索吧)…;
2、創建一個名為test的資料庫,然後建一張名為user_info的表(僅供測試)…
這里假定mysql使用的用戶名為root,密碼為123456
相應的mysql如下:
復制代碼 代碼如下:

/**
* 創建名為test的資料庫
*/
DROP DATABASE IF EXISTS test;
CREATE DATABASE test;
USE test;

/**
* 創建user_info表
*/
DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info` (
`userId` int(10) NOT NULL AUTO_INCREMENT,
`userName` varchar(20) DEFAULT NULL,
PRIMARY KEY (`userId`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
/**
* 插入三條記錄
*/
INSERT INTO user_info VALUES (NULL, '張一'), (NULL, '張二'), (NULL, '張三');

3、創建存儲過程(寫的很冗餘,故意的… 正好學習一下語法>_<);
復制代碼 代碼如下:

DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`proc_simple`$$
CREATE PROCEDURE proc_simple(IN uid INT(10), OUT uName VARCHAR(2), OUT totalCount INT)
BEGIN
DECLARE str_name VARCHAR(20);
SET @str_name = '';
SET totalCount = 0;
SELECT COUNT(1),userName INTO totalCount,@str_name FROM user_info WHERE userId = uid;
SET uName = @str_name;
SELECT uName, totalCount;

END$$
DELIMITER ;
4、寫程序進行調用(假定存為名為sql.js的文件);
復制代碼 代碼如下:

/**
* Created with JetBrains WebStorm.
* User: Meteoric_cry
* Date: 12-12-28
* Time: 上午00:18
* To change this template use File | Settings | File Templates.
*/
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
port : 3306,
user : 'root',
password : '123456',
database : 'test',
charset : 'UTF8_GENERAL_CI',
debug : false
});
connection.connect();
connection.query('CALL proc_simple(1, @a, @b);', function(err, rows, fields) {
if (err) {
throw err;
}
var results = rows[0];
var row = results[0];
console.log("userName:",row.uName, "count:", row.totalCount);
});
connection.end();

㈥ nodejs資料庫怎麼都用

1、node_moles只是放一些依賴包,具體資料庫文件當然是放在mysql目錄下了。 2、要在不開編輯器前提下,使系統可訪問,你只要在控制台中定位到你系統的目錄後,使用node命令來啟動即可

㈦ nodejs 支持關系型資料庫嗎

MongoDB是一個基於分布式文件存儲的資料庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB是一個高性能,開源,無模式的文檔型資料庫,是當前NoSql資料庫中比較熱門的一種。

MongoDB是一個介於關系資料庫和非關系資料庫之間的產品,是非關系資料庫當中功能最豐富,最像關系資料庫的。他支持的數據結構非常鬆散,是類似json的bjson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關系資料庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

㈧ nodejs能操作資料庫嗎

可以。
安裝mysql的方法:
npm install mysql
安裝mongodb的方法
npm install mongodb --save

㈨ nodejs怎麼連接資料庫

在node中輸入npm install mysql(注意安裝路徑)
電腦必須安裝mysql資料庫(這是前提),創建一個資料庫,建立一個表,本教程中用的是nodesmaple,表名是t_user
新建a.js代碼:
[javascript] view plain
var mysql = require('mysql');
var conn = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'nodesmaple',
port: 3306
});
conn.connect();
conn.query('SELECT 1 + 1 AS solution',
function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows[0].solution)
});
conn.end();
運行a.js node a.js 完成,ok!

㈩ node.js 適合資料庫開發嗎

非同步的思維是js的特點,也是node高並發性能優勢的原因之一,你從傳統的同步語言過
來可能不習慣,但是像我們這種從前端寫js過來的人就自然得像說話一樣,關鍵還是適應。熟悉之後可以用async,Promise系
(q,
bluebird)
或者
eventproxy
之類的庫來改善代碼嵌套的問題。
異常的問題
-
Node
核心庫的
API
拋異常大致有三種常見情況:
1.
非同步回調。按慣例,接收的回調函數第一個參數都是可能出現的異常,沒有特殊情況的話你應該把異常按照同樣的參數位置一層層傳下去,直到最頂層的回調里進行統一處理。
2.
同步版本的api會直接拋異常。所以如果確實無法避免拋錯的可能,直接
try
catch,要麼就避免用同步版本。
3.
Stream形態的API,必須在stream對象上添加
error
的偵聽函數,不然異常會直接拋出。
如果出現導致進程中斷的異常,說明你的代碼有邏輯層面的問題(以上幾點沒有完全做好),你應該在開發的時候發現並處理這些異常,而不是讓它們在部署環境中發生。
如果你實在避免不了問題發生,你可以用
Node

Domain
API
來對整塊代碼的異常進行捕捉。
另外可以用進程管理工具比如
forever,
pm2
或是
monit
監視應用進程,崩潰後自動重啟。
最後回到你的問題,node是否適合做web開發
-
node的獨特優勢是高並發,高實時性,或者單頁富前端的web應用,比如實時聊天,游戲,另外node也是寫JSON
API的最好選擇。
是否能做數據開發我也是從ITjob遠標老師哪裡請教的,但是了解的不夠細致,自己去問問吧,可以互相探討一下

熱點內容
安卓平板有什麼可以畫對稱的 發布:2024-07-27 09:36:03 瀏覽:132
羊創意腳本 發布:2024-07-27 09:29:30 瀏覽:894
榮耀v20升級存儲 發布:2024-07-27 09:20:19 瀏覽:485
安卓用什麼和電腦傳圖片 發布:2024-07-27 09:02:07 瀏覽:288
存儲過程就是 發布:2024-07-27 08:56:51 瀏覽:131
c語言高級試題 發布:2024-07-27 08:48:30 瀏覽:282
ip伺服器世界上有幾台 發布:2024-07-27 08:46:18 瀏覽:394
金立手機怎麼清理緩存 發布:2024-07-27 08:38:50 瀏覽:311
iphone文件夾不顯示 發布:2024-07-27 08:18:05 瀏覽:774
y510p固態硬碟做緩存 發布:2024-07-27 07:59:34 瀏覽:128