【Mongodb教程 第七課 】MongoDB 查詢文檔

來源:互聯網
上載者:User

標籤:des   http   io   os   使用   sp   檔案   資料   on   

find() 方法

要從MongoDB 查詢集合資料,需要使用MongoDB 的 find() 方法。

文法

基本的find()方法文法如下

>db.COLLECTION_NAME.find()

find() 方法將在非結構化的方式顯示所有的檔案。

pretty() 方法

結果顯示在一個格式化的方式,可以使用 pretty() 方法.

文法:
>db.mycol.find().pretty()
例子
>db.mycol.find().pretty(){   "_id": ObjectId(7df78ad8902c),   "title": "MongoDB Overview",    "description": "MongoDB is no sql database",   "by": "tutorials point",   "url": "http://www.yiibai.com",   "tags": ["mongodb", "database", "NoSQL"],   "likes": "100"}>

除了find() 方法外,還有一個 findOne() 法,返回一個檔案。

RDBMS Where子句和MongoDB等同語句

要查詢檔案的一些條件的基礎上,可以使用下面的操作

操作 文法 例子 RDBMS 等同
Equality {<key>:<value>} db.mycol.find({"by":"tutorials point"}).pretty() where by = ‘tutorials point‘
Less Than {<key>:{$lt:<value>}} db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
Less Than Equals {<key>:{$lte:<value>}} db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
Greater Than {<key>:{$gt:<value>}} db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
Greater Than Equals {<key>:{$gte:<value>}} db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
Not Equals {<key>:{$ne:<value>}} db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50
AND 在MongoDB中用法文法:

在  find() 方法,如果通過多個鍵分離‘,‘,那麼 MongoDB 處理 AND 條件。AND 基本文法如下所示:

>db.mycol.find({key1:value1, key2:value2}).pretty()
例子

下面給出的例子將顯示所有的教程,標題是“MongoDB Overview“

>db.mycol.find({"by":"tutorials point","title": "MongoDB Overview"}).pretty(){   "_id": ObjectId(7df78ad8902c),   "title": "MongoDB Overview",    "description": "MongoDB is no sql database",   "by": "yiibai",   "url": "http://www.yiibai.com",   "tags": ["mongodb", "database", "NoSQL"],   "likes": "100"}>

對於上面給出的例子相當於where子句 ‘ where by=‘yiibai‘ AND title=‘MongoDB Overview‘ , 可以通過任意數量的索引值對在 find 子句。 

MongoDB中OR文法:

OR條件的基礎上要查詢檔案,需要使用$or關鍵字。OR 基本文法如下所示:  

>db.mycol.find(   {      $or: [     {key1: value1}, {key2:value2}      ]   }).pretty()
例子

下面給出的例子將顯示所有的教程,由‘yiibai‘ 所寫或標題是“MongoDB Overview ‘

>db.mycol.find({$or:[{"by":"yiibai"},{"title": "MongoDB Overview"}]}).pretty(){   "_id": ObjectId(7df78ad8902c),   "title": "MongoDB Overview",    "description": "MongoDB is no sql database",   "by": "yiibai",   "url": "http://www.yiibai.com",   "tags": ["mongodb", "database", "NoSQL"],   "likes": "100"}>
AND 和 OR 一起使用例子

下面給出的例子將顯示有像的檔案大於100,其標題是“MongoDB Overview‘或者是‘yiibai‘ 。等效於 SQL where子句 為 ‘where likes>10 AND (by = ‘yiibai‘ OR title = ‘MongoDB Overview‘)‘

>db.mycol.find("likes": {$gt:10}, $or: [{"by": "yiibai"}, {"title": "MongoDB Overview"}] }).pretty(){   "_id": ObjectId(7df78ad8902c),   "title": "MongoDB Overview",    "description": "MongoDB is no sql database",   "by": "yiibai",   "url": "http://www.yiibai.com",   "tags": ["mongodb", "database", "NoSQL"],   "likes": "100"}>

【Mongodb教程 第七課 】MongoDB 查詢文檔

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.