MongoDB數據庫基礎操作總結_MongoDB

來源:腳本之家  責任編輯:小易  

了解了一下MongoDB,感覺還挺牛的,適合海量數據的實時插入,更新,查詢,而且支持多條件查詢,以及來建立多維度的索引。相比HBase,Hbase對于海量數據的實時插入,更新,查詢是沒有壓力的,而且操作的效率跟數據的量沒有關系,即數據量自的大小不會影響操作的效率,但是Hbase的實時查詢是建立在針對bairowkey的查詢基礎上的,因為Hbase只能對rowkey進行建立索引,查詢也只能根據rowkey進行查詢,無法實現同MongoDB一樣的多條du件查詢。小數據的要求對于MongoDB和Hbase都沒有影響,因為MongoDB和Hbase都是一種數據庫,主要就是用于存儲零碎的小數據。所以感覺如果只zhi是用于海量實時的小數據那么MongoDB可能會好點,但是如果還需要對數據進行dao統計分析,那么最好還是考慮統計分析的因素。如你使用mapreduce進行數據統計分析,那么hbase可能會更好些,雖然MongoDB也支持mr,了解了一下MongoDB,感覺還挺牛的,適合海量數據的實時插入,更新,查詢,而且支持多條件查詢,以及建立多維度的索引。抄相比HBase,Hbase對于海量數據的實時插入,更新,查詢是沒有壓力的,而且操作的效率跟數據的量沒有關系,即數據量的大小bai不會影響操作的效率,但是Hbase的實時查詢是建立在針對rowkey的查詢基礎上的,因為Hbase只能對rowkey進行建立索引,查詢也只能根據rowkey進行查詢,無法實現同MongoDB一樣的多條件查詢。小數據的要du求對于MongoDB和Hbase都沒有影響,因為MongoDB和Hbase都是一種數據庫,主要就是zhi用于存儲零碎的小數據。所以感覺如果只是用于海量實時的小數據那么MongoDB可能會好點,但是如果還需要對數據進行統計分析,那么最好還是考慮統計分析的因dao素。如你使用mapreduce進行數據統計分析,那么hbase可能會更好些,雖然MongoDB也支持mr。本回答被提問者采納,Trump angered Beijingwww.anxorj.tw防采集請勿采集本網。

本文實例講述了MongoDB數據庫基礎操作。分享給大家供大家參考,具體如下:

1.創建數據庫

1、Help查看命令提示 [html]view plain copy help db.help();db.yourColl.help();db.youColl.find().help();rs.help();2、切換/創建數據庫 [html]view plain copy use yourDB;當創建一個集合

>use test > db.test.insert({"name":1}) 插入之后才能查到test

2.查看數據庫

你需要有一個字段標示寫入數據庫的時間,然后查詢的時候,設定查詢時間段: db.things.find({\"createTime\":{\"$gt\":\"2014-10-29 0:0:0\"}})/大于某個時間 db.things.find({\"createTime\":{\"$lt\":

>show dbs

3.刪除數據庫

查詢監視:Mongo包含一個監視工具用于分析數據庫操作的性能。復制及自動故障轉移:Mongo數據庫支持服務器之間的數據復制,支持主-從模式及服務器之間的相互復制。復制的主要目標是提供冗余及自動故障轉移

> use test > db.dropDatabase()

4.創建集合

4.1 集合概念

集合就是一組文檔,相當于多條記錄。

mongodb官網的文檔吧,不用看視頻,官網上有操作方法,例子程序都給了。

> db.title.insert({"name":"hyx"}) 插入之后即創建集合

5.查看集合

當你已經連接到一個遠程的MongoDB數據庫服務器(例如,通過mongo連接到192.168.0.184),現在想要在這個會話中連接另一個遠程的數據庫服務器(192.168.0.197),可以執行如下命令: [plain]view plaincopy

> show collections

6.刪除集合

>use test >db.title.drop()

7.插入文檔

7.1 文檔概念

多個鍵及其關聯的值有序地放置在一起就是文檔。 文檔類似于json數據

> db.file.insert({name:"huangyuxin",age:11})

8.查看文檔

>db.files.find()

9.變量方式插入文檔

> document=({by:"hyx"}){ "by" : "hyx" }> db.file.insert(document)WriteResult({ "nInserted" : 1 })> db.file.find(){ "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "huangyuxin", "age" : 11 }{ "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "by" : "hyx" }>

10.同時插入多條

> var res = db.file.insertMany([{"b": 3}, {'c': 4}])> res{ "acknowledged" : true, "insertedIds" : [ ObjectId("5c6e8bba0fc535200b893f2b"), ObjectId("5c6e8bba0fc535200b893f2c") ]}> db.file.find(){ "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "huangyuxin", "age" : 11 }{ "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "by" : "hyx" }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }>

11.更新文檔

> db.file.update({"name":"huangyuxin"},{$set:{"name":"hyx"}})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.file.find(){ "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }{ "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "by" : "hyx" }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }{ "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }>

> db.file.save({"_id" : ObjectId("5c6e8b1c0fc535200b893f2a"),"name":"hyx"})WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.file.find(){ "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }{ "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "name" : "hyx" }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }{ "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }>

12.刪除文檔

12.1刪除指定文檔

> db.title.find(){ "_id" : ObjectId("5c6e89060fc535200b893f27"), "name" : "yx" }> db.file.find(){ "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }{ "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "name" : "hyx" }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2b"), "b" : 3 }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }{ "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }> db.file.remove({"b":3})WriteResult({ "nRemoved" : 1 })> db.file.find(){ "_id" : ObjectId("5c6e8a060fc535200b893f29"), "name" : "hyx", "age" : 11 }{ "_id" : ObjectId("5c6e8b1c0fc535200b893f2a"), "name" : "hyx" }{ "_id" : ObjectId("5c6e8bba0fc535200b893f2c"), "c" : 4 }{ "_id" : ObjectId("5c6e8cdf0fc535200b893f2d"), "name" : "hyx" }>

12.2刪除全部文檔

>db.file.deleteMany({})

12.3刪除多個文檔

>db.file.deleteMany({ status : 1 }) 刪除當前庫所有status 等于 1 的文檔

13.條件表達式

13.1$gt 大于

查詢age 大于 0 的數據

> db.title.find({age:{$gt : 0}}){ "_id" : ObjectId("5c6f7d633ea8783bbfb7fd5e"), "age" : 10 }>

13.2 $lt 小于

13.3 $gte 大于等于 $lte 小于等于

查詢age 大于等于 0 的數據

> db.title.find({age:{$gte : 1}})

13.4 大于小于

> db.title.find({age:{$lt:13,$gt:10}}){ "_id" : ObjectId("5c6f7ded3ea8783bbfb7fd5f"), "age" : 12 }{ "_id" : ObjectId("5c6f7e833ea8783bbfb7fd60"), "age" : 12 }>

13.5 $ne 不等于 $eq 等于

14. $type操作符

$type操作符是基于BSON類型來檢索集合中匹配的數據類型,并返回結果。

> db.title.find({"name" : {$type : 2}}){ "_id" : ObjectId("5c6e89060fc535200b893f27"), "name" : "yx" }>

15. limit()

查詢指定條數

> db.title.find().limit(2){ "_id" : ObjectId("5c6e89060fc535200b893f27"), "name" : "yx" }{ "_id" : ObjectId("5c6f7d633ea8783bbfb7fd5e"), "age" : 10 }> 第一個 {} 放 where 條件,為空表示返回集合中所有文檔。 第二個 {} 指定那些列顯示和不顯示 (0表示不顯示 1表示顯示)。

> db.title.find({},{"name":1,_id:0}).limit(1){ "name" : "yx" }>

16.skip() 

跳過幾條數據 不要輕易使用Skip來做查詢,否則數據量大了就會導致性能急劇下降,這是因為skip是一條一條的數過來的,多了自然就慢了。

17.sort()

 1 為升序排列,而 -1 是用于降序排列。

> db.title.find({},{'age':1,_id:0}).sort({age:1}){ }{ "age" : 10 }{ "age" : 12 }{ "age" : 12 }> db.title.find({},{'age':1,_id:0}).sort({age:-1}){ "age" : 12 }{ "age" : 12 }{ "age" : 10 }{ }>

18.索引

18.1 創建單個索引

1 為指定按升序創建索引,降序索引指定為 -1

>db.title.createIndex({"age":1})

18.2 創建多個索引

>db.title.createIndex({"name":1,"age":-1})

18.3 查看索引

>db.col.getIndexes()

18.4 查看索引大小

>db.col.totalIndexSize()

18.5 刪除所有集合索引

>db.col.dropIndexes()

18.6 刪除指定索引

>> db.title.dropIndex({'age':1}){ "nIndexesWas" : 2, "ok" : 1 }>

希望本文所述對大家MongoDB數據庫程序設計有所幫助。

MongoDB自身是不提供事務處理的。如果要實現事務操作,必須自己寫實現代碼。在為你的項目選定數據庫的時候,要根據你的項目來量身選擇。如果需要強事務操作的和數據一致性很高的地方,最好選擇健壯的關系行數據庫。如果對事務處理要求不高,而對數據存取要求很高的,則選擇非關系型數據庫內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • 詳解mongodb數據庫基礎操作及實例
  • 老生常談mongodb數據庫基礎操作
  • mongodb數據庫基礎知識之連表查詢
  • mongodb數據庫插入、更新和刪除操作詳解
  • php中mongodb數據庫的連接、添加、修改、查詢、刪除等操作實例
  • mongodb 數據庫操作詳解--創建,切換,刪除
  • mongodb 數據庫操作--備份 還原 導出 導入
  • mongodb數據庫文檔操作方法(必看篇)
  • mongodb模糊查詢操作案例詳解(類關系型數據庫的 like 和 not like)
  • mongodb4.0數據庫的操作方法
  • mongodb數據庫入門學習筆記之下載、安裝、啟動、連接操作解析
  • mongodb數據庫安裝配置、基本操作實例詳解
  • java操作mongodb數據庫方法詳解
  • centos yum 安裝 mongodb 以及php擴展
  • mongodb多條件模糊查詢示例代碼
  • mongodb使用mongoexport和mongoimport命令,批量導出和導入json數
  • 利用mongodb查詢某坐標是否在規定多邊形區域內的方法
  • mongodb優化指南
  • express使用mongoose連接mongodb操作示例【附源碼下載】
  • 詳解mongodb4.0構建分布式分片群集
  • mongodb exception: $concat only supports strings, not number
  • 在阿里云centos下部署mongodb教程
  • 在項目中用mongodb數據庫,怎樣用java代碼實現rollback()的操作
  • mongodb數據庫批量插入海量數據時為什么有少部分數據丟失
  • 如何刪除MongoDB數據庫中的文件
  • Mongodb數據庫基本問題
  • 如何在命令行下操作MongoDB數據庫
  • mongodb數據庫怎么查詢出某一段時間內的數據
  • 為什么MongoDB適合大數據的存儲
  • 誰有關于mongodb java的學習視頻,java中連接mongod數據庫,java程序操作mongodb數據庫(增刪改查等)。
  • 如何使用mongodb數據庫工具
  • 如何查看一個mongodb數據庫的集合列表
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess數據庫文摘數據庫其它首頁mongodb詳解mongodb數據庫基礎操作及實例老生常談mongodb數據庫基礎操作mongodb數據庫基礎知識之連表查詢mongodb數據庫插入、更新和刪除操作詳解php中mongodb數據庫的連接、添加、修改、查詢、刪除等操作實例mongodb 數據庫操作詳解--創建,切換,刪除mongodb 數據庫操作--備份 還原 導出 導入mongodb數據庫文檔操作方法(必看篇)mongodb模糊查詢操作案例詳解(類關系型數據庫的 like 和 not like)mongodb4.0數據庫的操作方法mongodb數據庫入門學習筆記之下載、安裝、啟動、連接操作解析mongodb數據庫安裝配置、基本操作實例詳解java操作mongodb數據庫方法詳解centos yum 安裝 mongodb 以及php擴展mongodb多條件模糊查詢示例代碼mongodb使用mongoexport和mongoimport命令,批量導出和導入json數利用mongodb查詢某坐標是否在規定多邊形區域內的方法mongodb優化指南express使用mongoose連接mongodb操作示例【附源碼下載】詳解mongodb4.0構建分布式分片群集mongodb exception: $concat only supports strings, not number在阿里云centos下部署mongodb教程mongodb常用操作命令大全mongodb各種查詢操作詳解mongodb數據庫插入、更新和刪除操mongodb 數據庫操作--備份 還原 mongodb插入數據的3種方法mongodb中使用distinct去重的簡單mongodb整庫備份與還原以及單個cmongodb查詢操作限制返回字段的方mongodb 實現遠程連接淺談mysql和mariadb區別(mariadbubuntu中安裝mongodb及執行一些簡單操作筆windows下mongodb安裝與使用圖文教程(整理mongodb索引的優化mongodb常用數據庫命令大全mongodb性能篇之創建索引,組合索引,唯一windows下mongodb的下載安裝、環境配置教使用zabbix監控mongodb的方法mongodb 利用mongoshell進行數據類型轉換mongodb插入、更新、刪除文檔實現代碼mongodb使用小結 一些常用操作分享
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载