express+mongodb+mongoose簡單入門

mongodb安裝linux

window安裝方法就不討論了,比較簡單~咱們來看一下在linux下面的安裝步驟~(這裏須要一點linux的簡單命令知識哈)mongodb

1.下載文件到服務器(先建立好本身想安裝的目錄)~shell

curl -O http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.1.tgz  #下載安裝文件

 

2.解壓下載的文件數據庫

[root@localhost soft]# tar -zxvf mongodb-linux-i686-2.0.2-rc2.tgz

 

3.咱們解壓到這麼長的文件名(mongodb-linux-i686-2.0.2-rc2)改一下吧,改爲(mongodb)就行了,這樣方便咱們操做路徑和好看簡潔一點嘛。好啦,下載解壓好改好名,如今咱們看到的文件應該是這樣的--->mongodb文件夾下面有bin文件夾,bin文件夾下面有一個應用程序文件。如今咱們有下面的命令在mongodb目錄下新建一個data目錄存放數據、新建一個log目錄存放日誌,而後在log目錄下新建一個日誌文件,例如咱們命名爲mongodb.lognpm

[root@localhost mongodb]# mkdir log 
[root@localhost mongodb]# mkdir data
[root@localhost mongodb]# cd log
[root@localhost log]# touch mongodb.log 

 

Ok文件夾建立好了,而後咱們定位到mongodb/bin目錄中(以下命令)json

[root@localhost local]# cd mongodb/bin  

 

雞凍的時刻來了!咱們來啓動一下mongodb服務器

1.簡單啓動數據庫curl

[root@localhost mongodb]# ./bin/mongod(這個很清楚吧就是運行bin下面的mongod.exe文件)  -port 10001(設置端口號爲10001,默認的是27017)  --dbpath=data/(設置存放數據庫的路徑)   --logpath=log/mongodb.log  (設置日誌文件及路徑)

 

下面來一個上面命令的純靜版mongoose

[root@localhost mongodb]# ./bin/mongod -port 10001 --dbpath = data/  --logpath=log/mongodb.log  

 

在後臺一直運行版加fork版函數

[root@localhost mongodb]# ./bin/mongod -port 10001 --dbpath = data/ --logpath=log/mongodb.log --fork

 

須要用戶名密碼登陸版

[root@localhost mongodb]# ./bin/mongod -port 10001 --dbpath = data/  --logpath=log/mongodb.log --fork --auth

 

服務成功啓動有沒有!有沒有!

再接下來咱們就要操做數據庫啦 先運行mongodb的shell腳本

[root@localhost mongodb]# ./bin/mongo
//運行以後看到如下信息說明成功運行
MongoDB shell version: 3.2.9
connecting to: test

 

2.好啦咱們能夠操做數據庫了

show dbs  //查下數據庫列表
admin //會輸出默認的數據庫名admin

 

3.一些簡單經常使用操做數據庫的命令

複製代碼
1.use mydb  //切換或叫打開數據庫,若是數據庫不存在則會自動建立(mydb爲數據庫名)
2.db.dropDatabase()//刪除數據庫
3.db.createCollection(name(集合名稱),options(可選參數太多可自行網上查))   //建立集合(所謂的集合其實就至關於傳統的表)
4.db.mycollection(集合名).drop() //刪除集合
5.db.mycollection(集合名).insert({要存的數據json對象}) //插入數據到集合(表)
6.db.mycollection(集合名).find() //查數據
7.db.mycollection(集合名).find().pretty() //查數據帶格式化
8.db.mycollection.remove({'title':'MongoDB Overview'}) //刪除帶條件title參數的數據
9.db.mycollection.remove({}) //刪除全部數據 網上有不少是這樣寫的db.mycollection.remove() 小sam發現會報錯
複製代碼

 

好啦,先說這些吧,還有不少命令你們網上找找了。

mongodb用戶權限

進入mongodb的操做臺

1.建立用戶

複製代碼
db.createUser({user:"你的用戶名",pwd:"密碼",roles:[{role: "userAdminAnyDatabase", db: "admin"}]})

//roles是可選的參數,指用戶指定的角色,可選角色參數以下
 1. 數據庫用戶角色:read、readWrite;
 2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;
 3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
 4. 備份恢復角色:backup、restore;
 5. 全部數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
 6. 超級用戶角色:root  
// 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
 7. 內部角色:__system
複製代碼
具體角色
Read:容許用戶讀取指定數據庫
readWrite:容許用戶讀寫指定數據庫
dbAdmin:容許用戶在指定數據庫中執行管理函數,如索引建立、刪除,查看統計或訪問system.profile
userAdmin:容許用戶向system.users集合寫入,能夠找指定數據庫裏建立、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶全部分片和複製集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶全部數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級帳號,超級權限

2.在mongodb shell 腳本用戶登陸

db.auth("用戶名","密碼")

好了,mongodb就先分享到這了.

mongoose

首先咱們須要知道mongoose是一個模塊,跟其餘模塊同樣,用npm就能加到項目中了.確認了已經引入模塊,如下代碼用mongoose鏈接數據庫

複製代碼
//引用mongoose模塊    
var mongoose = require('mongoose');
//鏈接數據庫
mongoose.connect('mongodb://數據庫登陸用戶名:數據庫登陸密碼@數據庫鏈接地址')
例:mongoose.connect('mongodb://:sam:123456@110.36.23.32:27017/samdb')

//建立對象定義集合結構類型(其實就是表結構)
var testSchema=new mongoose.Schema({
    userID:Number,
    name:String,
    comment:String
},{collection:'sam'});//collection:'sam'表示操做的集合

//操做數據庫
var Cat=mongoose.model('Cat',testSchemas);
var kitty=new Cat({userID:1,name:"李四",comment:"路過路過"});
kitty.save(function(err){
    if(err){
        console.log(err);
        data.err="保存失敗";
    }else{
        data.err="保存成功";
    }
});
相關文章
相關標籤/搜索