日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

node.js基础:数据存储

發布時間:2023/12/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 node.js基础:数据存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  無服務器的數據存儲

    內存存儲

var http = require('http'); var count = 0; //服務器訪問次數存儲在內存中 http.createServer(function(req,res){res.write('hello'+ ++count);res.end(); }).listen(3000);    

    基于文件的存儲

    node.js中主要用fs文件系統模塊來管理文件的存儲。

    文件系統模塊是一個簡單包裝的標準 POSIX 文件 I/O 操作方法集。您可以通過調用require('fs')來獲取該模塊。文件系統模塊中的所有方法均有異步和同步版本。

    在繁重的任務中,強烈推薦使用這些函數的異步版本.同步版本會阻塞進程,直到完成處理,也就是說會暫停所有的連接。 

var fs = require('fs'); //讀取一個文件的全部內容 fs.readFile('./node.txt',function(err,data){if(err) throw err;console.log(data); //data就是文件的內容 }); //將數據寫入一個文件, 如果文件原先存在,會被替換。 data 可以是一個string,也可以是一個原生buffer。 fs.writeFile('./node.txt','hello','utf8',function(err) {if(err) throw err;console.log('Saved'); });

  數據庫管理系統(DBMS)

    關系型數據庫:MySQLPostgreSQL

    NoSQL數據庫:RedisMongoDBMongoose

  MySQL

  使用第三方mysql模塊讓node.js跟MySQL交互

npm install mysql

  設置數據庫

//引入mysql模塊 var mysql = require('mysql'); //設置數據庫 var db = mysql.createConnection({host: '127.0.0.1',user: 'root',password: '123456',database: 'shop' //數據庫名稱 }); db.connect(); //查詢數據 db.query('select * from tb_user',function(err,rows,fields){if(err) throw err;console.log( rows[0].tel ); //rows為查詢到的數據集數組 }); db.end();

?  MongoDB

   安裝

npm install mongodb

?  連接MongoDB

var mongodb = require('mongodb'); var server = new mongodb.Server('127.0.0.1', 27017, {}); var client = new mongodb.Db('mydatabase', server, {w: 1});

?  訪問MongoDB集合

client.open(function(err){if(err) throw err;client.collection('test_insert', function(err, collection){if(err) throw err;//..}); });

?  將文檔插入集合中

collection.insert({"title": "I like cake","body": "It is quite good." },{safe: true }, function(err, documents) {if(err) throw err;console.log('Document ID is: ' + documents[0]._id); });

?  用文檔ID更新數據

var _id = new client.bson_serializer .ObjectID('4e650d344ac74b5a01000001'); collection.update({_id: _id},{$set:{"title": "I ate too much cake"}},{safe: true},function(err){if (err) throw err; });

?  搜索文檔

collection.find({"title": "I ate too much cake"}).toArray(function(err,results){if(err) throw err;console.log(results); });

?  刪除文檔

var _id = new client.bson_serializer.ObjectID('4e650d344ac74b5a01000001'); collection.remove({_id: _id},{safe:true},function(err){if(err) throw err; });

?  Mongoose

  ?Mongoose是一個抽象的MongoDB數據庫訪問API,在底層處理細節,可以加快開發速度,同時維護更少的代碼。

npm install mongoose

?  連接的打開和關閉

//連接 var mongoose = require('mongoose'); var db = mongoose.connect('mongodb://localhost/tasks'); //tasks為數據庫 //打開 mongoose.disconnect();

?  注冊schema

var Schema = mongoose.Schema; var Tasks = new Schema({project: String,description: String }); mongoose.model('Task', Tasks);

?  添加任務

var Task = mongoose.model('Task'); var task = new Task(); task.project = 'Bikeshed'; task.description = 'Paint the bikeshed red.'; task.save(function(err) {if (err) throw err;console.log('Task saved.'); });

?  搜索文檔

var Task = mongoose.model('Task'); Task.find({'project': 'Bikeshed'}, function(err, tasks) {for (var i = 0; i < tasks.length; i++) {console.log('ID:' + tasks[i]._id);console.log(tasks[i].description);} });

?  更新文檔

var Task = mongoose.model('Task'); Task.update({_id: '4e650d344ac74b5a01000001'},{description:'Paint the bikeshed green.'},{multi:false},function(err,rows_updated){if (err) throw err;console.log('Updated.'); });

?  刪除文檔

var Task = mongoose.model('Task'); Task.findById('4e650d344ac74b5a01000001',function(err,task){task.remove(); });

?  如果喜歡基于SQL的處理方式,關系型數據庫管理系統MySQL和PostgreSQL都得到了很好的支持。

  如果發現SQL在性能或靈活性上表現欠佳,Redis和MongoDB都是不錯的可選項。MongoDB是極佳的通用DBMS,而Redis擅長處理變化頻繁,相對比較簡單的數據。

轉載于:https://www.cnblogs.com/eyeear/p/4744130.html

總結

以上是生活随笔為你收集整理的node.js基础:数据存储的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。