MongooooooooooooooooooooDB入門三:MongoDB shell

來源:互聯網
上載者:User

標籤:blog   http   java   使用   os   io   資料   ar   

MongoDB shell是什嗎?

MongDB shell是一個功能完備的Javascript解譯器,可以運行Javascript程式。

但shell的作用遠不止於此,它主要還是用於串連MongoDB伺服器,執行指令碼,對資料庫進行操作。類似於SQL Server的管理工具SSMS。

可以通過以下2條命令開啟shell控制台:

> cd C:\Program Files\MongoDB 2.6 Standard\bin> mongo

C:\Program Files\MongoDB 2.6 Standard 是MongoDB的安裝目錄。

在開啟shell控制台之前請確保MongoDB服務已啟動,如何啟動MongoDB可以參考MongoDB入門一:安裝與配置。

MongoDB shell基本操作1.添加
> db.blog.insert({"title":"aaa","content":"123","date":new Date()})

添加一條資料使用insert方法,MongoDB會隱式地建立集合blog。如果添加的文檔比較複雜,也可以先聲明再添加,例如:

> post = {"title":"aaa",                "content":"123",                "author":"Ming Li",                "summary":"This article focuses on Asp.net MVC.",                "date":new Date()}> db.blog.insert(post)
2.查詢

不帶參數的find方法會返回集合裡面所有的文檔,shell只顯示20條。若只是想查看一條資料可以使用findOne方法,不帶參數的findOne會返回當前集合中的第一條資料。

> db.blog.find()> db.blog.findOne()

如果想查詢集合blog中title為"aaa"的文檔,可以給find添加參數:

> db.blog.find({"title":"aaa"})

如果只能進行這樣的查詢估計很多人會瘋掉,事實上MongoDB的查詢還是很強大的,需要單獨介紹,這裡只需要有個初步認識。

3.修改

修改使用update方法,update是一個至少有2個參數的方法。

假如集合book下有如下文檔:

{"_id":11,"item":"長安亂","publisher":"春風文藝出版社","author":"韓寒","price":20}

要修改書的價格為19可以使用下面的命令:

> db.book.update({"_id":11},{"price":19})

如果想給它增加屬性呢?假如我要使價格提高10,並且增加一個stock屬性,其值為5,可以使用下面的命令:

> db.book.update(      {"_id":11},      {            $.set:{stock:5},            $.inc:{price:10}       }   )

修改之後的文檔就是這樣了:

{"_id":11,"item":"長安亂","publisher":"春風文藝出版社","author":"韓寒","price":29,"stock":5}

關於修改有很多內容可以講,這篇文章主要還是介紹MongoDB的基本操作有哪些,我會在後續文章詳細介紹update方法。

4.刪除

remove用來從資料庫中永久性地刪除文檔。在不使用任何參數的情況下,它會刪除集合內的所有文檔。它也可以接受一個文件類型的參數以限定條件。

例如下面的命令會刪除blog中title為aaa的文檔:

> db.blog.remove({"title":"aaa"})
shell的其他常用命令

1.查看db下的所有命令或方法

> db.help() 

2.切換到資料庫test,如果test不存在會自動建立

> use test 

3.刪除當前串連的資料庫

> db.dropDatabase() //請謹慎操作

4.查詢本地所有資料庫名稱

> show dbs

5.查詢當前資料庫下的所有集合

show collections

6.查詢當前集合下的文檔個數

db.collection.count() //樣本:db.blog.count()

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.