安装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')
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
相关推荐
通过上述步骤,你不仅完成了MongoDB的安装,还学会了如何连接数据库以及进行一些基本的操作。MongoDB的强大功能远不止于此,包括但不限于索引、聚合框架、分片等高级特性。掌握了这些基础知识,你就可以进一步探索...
蒙戈火花一个使用 Apache Spark 和 MongoDB 的简单示例。 该项目使用 Hadoop 2.6.0 和 Mongo Hadoop 连接器 1.3.1。 在 Mac 上运行此应用程序的步骤: 安装 MongoDB 安装自制软件使用自制软件安装 Hadoop。 使用此...
以上就是使用 `mongo-scala-driver` 进行基本 CRUD(创建、读取、更新、删除)操作的简单示例。这个驱动还支持更复杂的查询、聚合框架和其他高级特性,比如索引、副本集和分片。在实际应用中,还需要处理错误和异常...
MongoVUE-Installer是MongoVUE的安装程序,通常包含了MongoVUE的所有组件和依赖,方便用户在Windows操作系统上快速安装和使用MongoVUE。 MongoDB是一个流行的开源、分布式、文档型的NoSQL数据库系统。它以其灵活性...
MongoDB的安装过程通常包括下载安装包、配置服务器设置(如端口、数据存储位置)、启动服务以及设置防火墙规则。安装完成后,你可以通过NosqlBooster连接到本地或远程MongoDB实例,开始管理和操作你的数据。 总之,...
在PyCharm中安装Mongo4idea插件非常简单,只需在PyCharm的插件市场中搜索并下载对应版本,然后按照提示完成安装。安装完成后,用户就可以在PyCharm的工具窗口中找到MongoDB的入口,开始享受便捷的数据库管理体验。 ...
MongoDB的安装过程相对简单,可在多种操作系统上运行,包括Windows、Linux和macOS。安装完成后,通过命令行启动MongoDB服务器,如在Linux上使用`mongod`命令。为了确保数据安全性,建议配置数据目录权限和设置日志...
在安装Mongo VUE之前,你需要确保你的计算机上已经安装了MongoDB服务器,因为Mongo VUE是与MongoDB服务器配合使用的。MongoDB是一个基于分布式文件存储的开源数据库系统,广泛应用于现代Web应用、大数据分析等领域,...
软件介绍: ...MongoVUE是一款WINDOWS系统下的MongoDB客户端管理软件,GUI界面让你使用起来更简单。可以以树形、表格及bjosn三种格式查看数据,以 shell命令查看特定的数据,需要具备一定的语法知识。
php_mongo扩展提供了丰富的API,使得开发者可以通过简单的PHP代码操作MongoDB。例如,可以使用`new MongoClient()`创建数据库连接,`$db = $client->selectDB('database_name')`来选择数据库,`$collection = $db->...
在使用`mongo-cxx-driver`前,你需要确保系统上已经安装了MongoDB服务器和必要的依赖库。驱动程序可以通过CMake构建系统进行编译和安装,然后在项目中链接对应的库。 ### 五、版本与兼容性 `mongo-cxx-driver`有多...
MongoVUE是一款强大的MongoDB数据库管理工具,专为可视化交互设计,使得数据库操作变得更为简单直观。MongoDB是一种流行的...在下载并解压提供的MongoVUE文件后,按照安装指南进行安装,即可开始使用这个强大的工具。
需要注意的是,MongoVUE的0.9.7.2版本是免费且免安装的,这意味着用户可以直接下载并使用,无需进行繁琐的安装过程。然而,从1.0版本开始,MongoVUE转为收费模式,这可能会影响部分用户的使用选择。 对于初学者或者...
总结起来,这个"MVC4 一个简单的例子 数据库Mongo"示例提供了一个实用的起点,帮助开发者理解如何在ASP.NET MVC4应用中集成MongoDB进行数据管理。无论是学习MVC4的架构还是MongoDB的特性,这个案例都能为初学者带来...
MongoVUE1.5.3是一款专为MongoDB设计的高效、免费的可视化工具,它为用户提供了便捷的方式来管理和操作数据库。MongoDB是一款流行的开源...通过安装MongoVUE.v1.5.3-NGEN,用户可以立即体验到这些强大功能带来的便利。
MongoVUE的“绿色版”指的是无需正式安装即可使用的版本,这通常意味着用户可以将程序文件复制到任何位置并直接运行,避免了在系统注册表中留下痕迹,易于携带和分享。 MongoDB是一种流行的开源、文档型的NoSQL...
MongoVUE是一个MongoDB在windwos下的客户端管理工具,是一个创新的MongoDB桌面应用Windows操作系统,给你一个优雅的、高度可用的GUI界面来使用MongoDB。现在有一个更少的担心在管理你的网络数据。 MngoVUE使其成为一...
大多数 MongoDB 客户端工具都提供了简单的安装步骤,通常只需要下载安装包后按照提示进行即可完成安装。配置方面,一般需要指定目标 MongoDB 服务器的地址(IP 或域名)、端口号、用户名及密码等基本信息。 ### ...
MongoVUE的主要功能包括数据查看、编辑、导入、导出以及数据库管理和监控。 MongoVUE免费版0.9.7是该工具的一个早期版本,尽管它可能不包含最新版本的所有特性,但对于初学者和小型项目来说,仍然是一款实用的工具...
- `README.md`:提供项目的基本信息、安装指南和使用方法。 - `log4j.properties.sample`:这可能是一个log4j配置文件的示例,展示了如何配置log4mongo-java来使用MongoDB。 - `LICENSE.txt`:包含了该项目的许可...