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.zgxue.com防采集请勿采集本网。

本文实例讲述了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.zgxue.com请勿采集。


  • 本文相关:
  • 详解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.zgxue.com All Rights Reserved