Node.mongoose

簡介

mongodb是一款面向文檔的數據庫,不是關係型數據庫,新手熟悉mysql、sqlserver等數據庫的人可能入手稍微困難些,須要轉換一下思想,能夠不須要有固定的存儲模式,以文檔模型爲存儲內容相對有更好的擴展性,給個人感受它更像是一個方便的javascript擴展單元,由於如今我所知的一些功能均可以靠js腳本實現並在數據庫中執行。更多查看mongodb官網javascript

命令

mongodb在終端中經過輸入命令可查看數據庫信息及操做相關數據。
1.show dbs :數據庫列表
2.db :當前數據庫
3.db.help()/db.xx.help() :幫助,幫助中會列出當前可執行的全部方法名稱及簡介。
4.網上收集的一些 mongodb基本命令java

Node操做mongodb

安裝mongoose

1.安裝Nodemongodb數據庫
2.打開命令行 執行 npm 命令:node

npm install mongoose -g 

鏈接數據庫

//獲取mongoose模塊
var mongoose = require('mongoose');
///獲取本地mongodb鏈接
//connect和createConnection都接受mongodb數據庫鏈接,支持URI或者參數(host,database,port)的形式。
var conn = mongoose.connect('mongodb://localhost/數據庫名稱');

 

定義模型

//定義User模型 相似於MVC中的Model
var 模型 = new Schema({
字段名稱 : { type: 類型 }
//...
});
mongoose.model(模型名稱, 模型);

 

訪問模型mysql

//這裏的模型爲數據庫直接操做的對象
var mongoSchema = mongoose.model(模型名稱); 

CRUD

1.添加新數據sql

//實例化數據模型
var schermaName = new mongoSchema();
//爲模型成員賦值
schermaName.字段 = 值;
//...
//執行保存操做
schermaName.save(function(err){
if (err) {
console.log(err);
}
console.log('save success');
});

 

2.查找
mongodb

//查找數據
//單條查找使用findone() 返回查找結果集中的第一條數據
schermaName.find({key:value},function(err,docs){
console.log(docs);
});

 

3.修改數據數據庫

schermaName.update(定位數據:{key:value},更改值);

 

4.刪除數據npm

schermaName.remove(定位數據:{key:value},function(err,docs){
console.log(docs);
});

 

注意事項

mongoose在與數據庫真正創建鏈接以前便緩存了全部的命令,這就意味着你在定義模型、執行查詢時確認與mongodb數據庫的鏈接狀態或從新打開數據庫鏈接會拋出異常。緩存

常見異常處理

1.Error: Trying to open unclosed connection.
嘗試打開一個沒有關閉的數據庫鏈接。(來源:db.open())mongoose

接觸的還很少,之後有更多的經驗繼續完善…

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息