`

mongo安装以及简单使用

阅读更多
安装mongo 百度云下载地址 http://pan.baidu.com/s/1mgqgcsC
1.                   解压文件.
$ tar -xvf mongodb-linux-i686-1.4.3.tgz
 
2.                  为MongoDB创建数据目录,默认情况下它将数据存储在/data/db
$ sudo mkdir -p /data/db/
 
$ sudo chown `id -u` /data/db
 
3.                  启动MongoDB服务.
$ cd mongodb-linux-i686-1.4.3/bin
 
$ ./mongod
 
4.                  打开另一个终端,并确保你在MongoDB的bin目录,输入如下命令.
$ ./mongo
 
 
非结构性数据库没有删除和修改,改为被丢弃的文档集合
 
 
数据库配置层面
数据库备份与恢复
mongodump命令脚本语法如下:
 
>mongodump -h dbhost -d dbname -o dbdirectory
-h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
 
-d:
需要备份的数据库实例,例如:test
 
-o:
备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
mongorestore命令脚本语法如下:
 
>mongorestore -h dbhost -d dbname --directoryperdb dbdirectory
-h:
MongoDB所在服务器地址
 
-d:
需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
 
--directoryperdb:
备份数据所在位置,例如:c:\data\dump\test,这里为什么要多加一个test,而不是备份时候的dump,读者自己查看提示吧!
 
--drop:
恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!
 
mongostat 命令
mongostat是mongodb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。
 
mongotop 命令
mongotop也是mongodb下的一个内置工具,mongotop提供了一个方法,用来跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据。 mongotop提供每个集合的水平的统计数据。默认情况下,mongotop返回值的每一秒。
 
启动你的Mongod服务,进入到你安装的MongoDB目录下的bin目录, 然后输入mongotop命令,如下所示:
 
D:\set up\mongodb\bin>mongotop
 
 
启动你的Mongod服务,进入到你安装的MongoDB目录下的bin目录, 然后输入mongostat命令,如下所示:
 
D:\set up\mongodb\bin>mongostat
 
增加:
删除:
修改:
查找:
用户:
1. #进入数据库admin
use admin
         2. #增加或修改用户密码
          db.addUser('name','pwd')
          db.addUser( { user: "superman", pwd: "talent", roles: [ "userAdminAnyDatabase" ] } )
         3. #查看用户列表
          db.system.users.find()
         4. #用户认证
          db.auth('name','pwd')
         5. #删除用户
          db.removeUser('name')
         6. #查看所有用户
          show users
         7. #查看所有数据库
          show dbs
         8. #查看所有的collection
          show collections
         9. #查看各collection的状态
          db.printCollectionStats()
        10. #查看主从复制状态
          db.printReplicationInfo()
        11. #修复数据库
          db.repairDatabase()
        12. #设置记录profiling,0=off 1=slow 2=all
          db.setProfilingLevel(1)
        13. #查看profiling
          show profile
        14. #拷贝数据库
          db.copyDatabase('mail_addr','mail_addr_tmp')
        15. #删除collection
          db.mail_addr.drop()
        16. #删除当前的数据库
          db.dropDatabase()
 
 
命名空间层面namespace
 
增加:use namespace
删除db.dropDatabase;
修改
查找show collections;db.printCollectionsStats();
 
文档集合层面collections
增加 db.collections.insert(document)
删除 db.collections.drop();
修改 
查找 db.collections.find();
show collections;db.printCollectionsStats();
建立文档索引:db.collections.ensureIndex({"filed":1/-1});
 
文档层面document
 
增加db.collections.insert(document);
删除db.collections.remove({"field":"value",~})
修改db.collectinos.update({"field":"value",~},{"field":"value",~})
查找db.collections.find({"field":"value",~}).limit(number1).skip(number2).sort("files":1/-1);(优先skip数量,不是第多少条)
 
document=({"field":"value","field":"value",...})
 
逻辑查找:
描述
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。
 
在本章节中,我们将讨论如何在MongoDB中使用条件操作符。
 
MongoDB中条件操作符有:
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
db.collections.find({"filed":{$gt: value }});
 
类型查找:
db.shareuser.find({"age":{$type:16  }  });
 
类型描述类型值
Double1
String2
Object3
Array4
Binary data5
Object id7
Boolean8
Date9
Null10
Regular expression11
JavaScript code13
Symbol14
JavaScript code with scope15
32-bit integer16
Timestamp17
64-bit integer18
Min key255
Max key127
 
aggregate() 方法
MongoDB中聚合的方法使用aggregate()。
 
语法
 
aggregate() 方法的基本语法格式如下所示:
 
>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
实例
 
集合中的数据如下:
 
{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by_user: 'w3cschool.cc',
   url: 'http://www.w3cschool.cc',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   _id: ObjectId(7df78ad8902d)
   title: 'NoSQL Overview', 
   description: 'No sql database is very fast',
   by_user: 'w3cschool.cc',
   url: 'http://www.w3cschool.cc',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 10
},
{
   _id: ObjectId(7df78ad8902e)
   title: 'Neo4j Overview', 
   description: 'Neo4j is no sql database',
   by_user: 'Neo4j',
   url: 'http://www.neo4j.com',
   tags: ['neo4j', 'database', 'NoSQL'],
   likes: 750
},
现在我们通过以上集合计算每个作者所写的文章数,使用aggregate()计算结果如下:
 
> db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
{
   "result" : [
      {
         "_id" : "w3cschool.cc",
         "num_tutorial" : 2
      },
      {
         "_id" : "Neo4j",
         "num_tutorial" : 1
      }
   ],
   "ok" : 1
}
>
以上实例类似sql语句: select by_user, count(*) from mycol group by by_user
 
在上面的例子中,我们通过字段by_user字段对数据进行分组,并计算by_user字段相同值的总和。
 
下表展示了一些聚合的表达式:
 
表达式描述实例
$sum计算总和。db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])
$avg计算平均值db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}])
$min获取集合中所有文档对应值得最小值。db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}])
$max获取集合中所有文档对应值得最大值。db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}])
$push在结果文档中插入值到一个数组中。db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}])
$addToSet在结果文档中插入值到一个数组中,但不创建副本。db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}])
$first根据资源文档的排序获取第一个文档数据。db.mycol.aggregate([{$group : {_id : "$by_user", first_url : {$first : "$url"}}}])
$last根据资源文档的排序获取最后一个文档数据db.mycol.aggregate([{$group : {_id : "$by_user", last_url : {$last : "$url"}}}])
管道的概念
管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。
 
MongoDB的聚合管道将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。
 
表达式:处理输入文档并输出。表达式是无状态的,只能用于计算当前聚合管道的文档,不能处理其它的文档。
 
这里我们介绍一下聚合框架中常用的几个操作:
 
$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
$match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。
$limit:用来限制MongoDB聚合管道返回的文档数。
$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
$group:将集合中的文档分组,可用于统计结果。
$sort:将输入文档排序后输出。
$geoNear:输出接近某一地理位置的有序文档。
管道操作符实例
 
1、$project实例
 
db.article.aggregate(
    { $project : {
        title : 1 ,
        author : 1 ,
    }}
 );
这样的话结果中就只还有_id,tilte和author三个字段了,默认情况下_id字段是被包含的,如果要想不包含_id话可以这样:
 
db.article.aggregate(
    { $project : {
        _id : 0 ,
        title : 1 ,
        author : 1
    }});
2.$match实例
 
db.articles.aggregate( [
                        { $match : { score : { $gt : 70, $lte : 90 } } },
                        { $group: { _id: null, count: { $sum: 1 } } }
                       ] );
$match用于获取分数大于70小于或等于90记录,然后将符合条件的记录送到下一阶段$group管道操作符进行处理。
 
3.$skip实例
 
db.article.aggregate(
    { $skip : 5 });
 
 
引用博客地址
http://ldd600.iteye.com/blog/974813
http://www.w3cschool.cc/mongodb/mongodb-replication.html

 

分享到:
评论

相关推荐

    mongo安装手册

    通过上述步骤,你不仅完成了MongoDB的安装,还学会了如何连接数据库以及进行一些基本的操作。MongoDB的强大功能远不止于此,包括但不限于索引、聚合框架、分片等高级特性。掌握了这些基础知识,你就可以进一步探索...

    mongo-spark:使用 Apache Spark 和 MongoDB 的简单示例

    蒙戈火花一个使用 Apache Spark 和 MongoDB 的简单示例。 该项目使用 Hadoop 2.6.0 和 Mongo Hadoop 连接器 1.3.1。 在 Mac 上运行此应用程序的步骤: 安装 MongoDB 安装自制软件使用自制软件安装 Hadoop。 使用此...

    mongo-scala-drive的使用demo

    以上就是使用 `mongo-scala-driver` 进行基本 CRUD(创建、读取、更新、删除)操作的简单示例。这个驱动还支持更复杂的查询、聚合框架和其他高级特性,比如索引、副本集和分片。在实际应用中,还需要处理错误和异常...

    MongoVUE-Installer

    MongoVUE-Installer是MongoVUE的安装程序,通常包含了MongoVUE的所有组件和依赖,方便用户在Windows操作系统上快速安装和使用MongoVUE。 MongoDB是一个流行的开源、分布式、文档型的NoSQL数据库系统。它以其灵活性...

    nosql安装文件4mongo-6.0.4.rar

    MongoDB的安装过程通常包括下载安装包、配置服务器设置(如端口、数据存储位置)、启动服务以及设置防火墙规则。安装完成后,你可以通过NosqlBooster连接到本地或远程MongoDB实例,开始管理和操作你的数据。 总之,...

    mongo_plugin.zip

    在PyCharm中安装Mongo4idea插件非常简单,只需在PyCharm的插件市场中搜索并下载对应版本,然后按照提示完成安装。安装完成后,用户就可以在PyCharm的工具窗口中找到MongoDB的入口,开始享受便捷的数据库管理体验。 ...

    robot mongo操作手册

    MongoDB的安装过程相对简单,可在多种操作系统上运行,包括Windows、Linux和macOS。安装完成后,通过命令行启动MongoDB服务器,如在Linux上使用`mongod`命令。为了确保数据安全性,建议配置数据目录权限和设置日志...

    mongo VUE客户端

    在安装Mongo VUE之前,你需要确保你的计算机上已经安装了MongoDB服务器,因为Mongo VUE是与MongoDB服务器配合使用的。MongoDB是一个基于分布式文件存储的开源数据库系统,广泛应用于现代Web应用、大数据分析等领域,...

    MongoVUE 1.6.9最新破解版.zip

    软件介绍: ...MongoVUE是一款WINDOWS系统下的MongoDB客户端管理软件,GUI界面让你使用起来更简单。可以以树形、表格及bjosn三种格式查看数据,以 shell命令查看特定的数据,需要具备一定的语法知识。

    php_mongo-1.3.0

    php_mongo扩展提供了丰富的API,使得开发者可以通过简单的PHP代码操作MongoDB。例如,可以使用`new MongoClient()`创建数据库连接,`$db = $client-&gt;selectDB('database_name')`来选择数据库,`$collection = $db-&gt;...

    mongo-cxx-driver

    在使用`mongo-cxx-driver`前,你需要确保系统上已经安装了MongoDB服务器和必要的依赖库。驱动程序可以通过CMake构建系统进行编译和安装,然后在项目中链接对应的库。 ### 五、版本与兼容性 `mongo-cxx-driver`有多...

    mongovue 客户端

    MongoVUE是一款强大的MongoDB数据库管理工具,专为可视化交互设计,使得数据库操作变得更为简单直观。MongoDB是一种流行的...在下载并解压提供的MongoVUE文件后,按照安装指南进行安装,即可开始使用这个强大的工具。

    MongoVUE 0.9.7.2 免费免安装版

    需要注意的是,MongoVUE的0.9.7.2版本是免费且免安装的,这意味着用户可以直接下载并使用,无需进行繁琐的安装过程。然而,从1.0版本开始,MongoVUE转为收费模式,这可能会影响部分用户的使用选择。 对于初学者或者...

    mvc4 一个简单的例子 数据库Mongo

    总结起来,这个"MVC4 一个简单的例子 数据库Mongo"示例提供了一个实用的起点,帮助开发者理解如何在ASP.NET MVC4应用中集成MongoDB进行数据管理。无论是学习MVC4的架构还是MongoDB的特性,这个案例都能为初学者带来...

    mongoVUE1.5.3

    MongoVUE1.5.3是一款专为MongoDB设计的高效、免费的可视化工具,它为用户提供了便捷的方式来管理和操作数据库。MongoDB是一款流行的开源...通过安装MongoVUE.v1.5.3-NGEN,用户可以立即体验到这些强大功能带来的便利。

    MongoVUE绿色版

    MongoVUE的“绿色版”指的是无需正式安装即可使用的版本,这通常意味着用户可以将程序文件复制到任何位置并直接运行,避免了在系统注册表中留下痕迹,易于携带和分享。 MongoDB是一种流行的开源、文档型的NoSQL...

    MongoVUE V1.5.3 破解版

    MongoVUE是一个MongoDB在windwos下的客户端管理工具,是一个创新的MongoDB桌面应用Windows操作系统,给你一个优雅的、高度可用的GUI界面来使用MongoDB。现在有一个更少的担心在管理你的网络数据。 MngoVUE使其成为一...

    mongo客户端连接工具

    大多数 MongoDB 客户端工具都提供了简单的安装步骤,通常只需要下载安装包后按照提示进行即可完成安装。配置方面,一般需要指定目标 MongoDB 服务器的地址(IP 或域名)、端口号、用户名及密码等基本信息。 ### ...

    MongoVUE客户端连接工具(免费版0.9.7)

    MongoVUE的主要功能包括数据查看、编辑、导入、导出以及数据库管理和监控。 MongoVUE免费版0.9.7是该工具的一个早期版本,尽管它可能不包含最新版本的所有特性,但对于初学者和小型项目来说,仍然是一款实用的工具...

    log4mongo-java.7z

    - `README.md`:提供项目的基本信息、安装指南和使用方法。 - `log4j.properties.sample`:这可能是一个log4j配置文件的示例,展示了如何配置log4mongo-java来使用MongoDB。 - `LICENSE.txt`:包含了该项目的许可...

Global site tag (gtag.js) - Google Analytics