1. 程式人生 > >mongodb安裝和命令列基本操作

mongodb安裝和命令列基本操作

Mongodb

今天學習了一波mongodb,瞭解了一下三大家族,然後主要學習了mongodb的操作。

1)安裝mongodb

跟誰網上的教程安裝方法如下:

系統Ubuntu16.04

sudoapt-get autoremove

sudoapt-get install mongodb

然後等待一會就安裝好了

2mongodb的基本操作:

命令列進入就一條命令:

mongo


看到這就說明成功進入了,版本是2.6.10

接著我們可以看一下它裡面有什麼表

>show dbs

看到下面有三個表


這裡注意一下,我們裝這個mongodb的時候它會預設吃掉我們3G

的空間,非常霸道的,之前我有個師兄就在這裡踩了很久的坑,但是我們是有方法發信息給它來進行一個小型的,也就是讓他吃少一點。

現在我們新建一個庫,看下面這個我們用use新建一個庫,如果資料庫裡面沒有這個庫,他就會新建。

>use little_quincy

switchedto db little_quincy

有一點就是如果這個庫裡面沒有東西,我們去看的時候他是不顯示這個庫的。

然後我們新建集合,在mongodb裡面我們一般都是用collection來表示表的,也就是集合

>db.createCollection("little_quincy");

{"ok" : 1 }

我們新建一個表,看下面的返回值證明成功了

來看看這個表

>show collections;

little_quincy

system.indexes

可以看到表已經有了,system是索引。

看第一個操作,插入:

>db.little_quincy.insert({"name":"quincy"});

WriteResult({"nInserted" : 1 })

成功插入了。

然後我們在來幾波騷操作

>db.little_quincy.find() – 查詢操作,可以看看錶裡面都有點啥

{"_id" : ObjectId("5916b43864a2a21938b93dcb"),"name" : "quincy" }

>db.little_quincy.find().pretty();

{"_id" : ObjectId("5916b43864a2a21938b93dcb"),"name" : "quincy" } –美麗的查詢操作,現在是看不出哪比較美了,但是資料多了,pretty會增加一個換行,使得它看著很美

>db.little_quincy.insert({"id":"quincy","name":"quincy"});– 在插入點資料,

WriteResult({"nInserted" : 1 })

>db.little_quincy.find()

{"_id" : ObjectId("5916b43864a2a21938b93dcb"),"name" : "quincy" } –MongoDB從一開始就設計用來作為分散式資料庫,處理多個節點是一個核心要求。ObjectId型別在分片環境中容易生成得多。

{"_id" : ObjectId("5916b4c364a2a21938b93dcc"),"id" : "quincy", "name" : "quincy"}

我們可以看到_id也可以是別的值

>db.little_quincy.insert({"_id":"quincy","name":"quincy"});

WriteResult({"nInserted" : 1 })

>db.little_quincy.find()

{"_id" : ObjectId("5916b43864a2a21938b93dcb"),"name" : "quincy" }

{"_id" : ObjectId("5916b4c364a2a21938b93dcc"),"id" : "quincy", "name" : "quincy"}

{"_id" : "quincy", "name" : "quincy"}

有沒有注意到,這個資料庫沒有定義型別,沒有限制多少想插就插,最後按key->來實現查詢

keyvalue查詢

>db.little_quincy.find({"name":"quincy"});

{"_id" : ObjectId("5916b43864a2a21938b93dcb"),"name" : "quincy" }

{"_id" : ObjectId("5916b4c364a2a21938b93dcc"),"id" : "quincy", "name" : "quincy"}

{"_id" : "quincy", "name" : "quincy"}

下面這個操作是找出年齡小於23的人,先插入年齡

>db.little_quincy.insert({"age":22,"name":"quincy"});

WriteResult({"nInserted" : 1 })

>db.little_quincy.find({"age":{$lt:23}});

{"_id" : ObjectId("5916b58264a2a21938b93dcd"),"age" : 22, "name" : "quincy" }

這個操作是按正則去尋找模糊匹配

>db.little_quincy.find({"name":/quincy/});

{"_id" : ObjectId("5916b43864a2a21938b93dcb"),"name" : "quincy" }

{"_id" : ObjectId("5916b4c364a2a21938b93dcc"),"id" : "quincy", "name" : "quincy"}

{"_id" : "quincy", "name" : "quincy"}

{"_id" : ObjectId("5916b58264a2a21938b93dcd"),"age" : 22, "name" : "quincy" }

基礎操作之更新

>db.little_quincy.update({"name":"quincy"},{$set:{"age":23}},false,false);

WriteResult({"nMatched" : 1, "nUpserted" : 0, "nModified": 1 })

一定要注意不同的括號,容易踩坑

基礎之移除操作

按照鍵值關係移除

>db.little_quincy.remove({"_id":"quincy"})

WriteResult({"nRemoved" : 1 })

結果:

>db.little_quincy.find();

{"_id" : ObjectId("5916b4c364a2a21938b93dcc"),"id" : "quincy", "name" : "quincy"}

{"_id" : ObjectId("5916b58264a2a21938b93dcd"),"age" : 22, "name" : "quincy" }

{"_id" : ObjectId("5916b43864a2a21938b93dcb"),"name" : "quincy", "age" : 23 }

刪表

>db.little_quincy.drop();

true

刪庫

>db.dropDatabase();

{"dropped" : "little_quincy", "ok" : 1 }

最終結果:

>show dbs;

admin (empty)

local 0.078GB

test 0.078GB

練習時間:

>use shihao

switchedto db shihao

>show collections;

>db.creatCollection("xiaohao");

2017-05-13T15:47:03.888+0800TypeError: Property 'creatCollection' of object shihao is not afunction

>db.createCollection("xiaohao");

{"ok" : 1 }

>db.shihao.insert({"name":"chenlebo","age":20,"sex":"man","job":"NO.1android"});

WriteResult({"nInserted" : 1 })

>db.shihao.find()

{"_id" : ObjectId("5916bbc864a2a21938b93dce"),"name" : "chenlebo", "age" : 20, "sex": "man", "job" : "NO.1 android" }

>db.shihao.insert({"name":"wujia","age":18,"sex":"man","job":"student"});

WriteResult({"nInserted" : 1 })

>db.shihao.insert({"name":"waterwater","age":18,"sex":"man","job":"kingof the technology"});

WriteResult({"nInserted" : 1 })

>db.shihao.insert({"name":"waterwater"},{$set:{"age":50}},false,false);

WriteResult({"nInserted" : 1 })

>db.shihao.remove({"name":"waterwater"});

WriteResult({"nRemoved" : 2 })

>db.shihao.update({"name":"chenlebo"},{$set:{"age":50}},false,false);

WriteResult({"nMatched" : 1, "nUpserted" : 0, "nModified": 1 })

>db.shihao.find();

{"_id" : ObjectId("5916bbc864a2a21938b93dce"),"name" : "chenlebo", "age" : 50, "sex": "man", "job" : "NO.1 android" }

{"_id" : ObjectId("5916bc3264a2a21938b93dcf"),"name" : "wujiacheng", "age" : 18,"sex" : "man", "job" : "student"}

>db.xiaohao.drop();

true


總結完畢!